Getting 5 error messages | PHP

时间:2016-04-07 10:50:28

标签: php

<?php

function getLeeftijdsCategorie($leeftijd){
if($leeftijd<18){
    $categorie="kind";
}
elseif($leeftijd>=18&&$leeftijd<65){
    $categorie="volwassen";
}else{
    $categorie="bejaard";
}
return $categorie;
}

//globale array met leeftijden
$aLeeftijden = array(16,17,18,14,22,34,67,58,8,4,55,22,34,45,35);

$aantalKind = 0;
$aantalBejaard = 0;                    
$aantalVolwassen = 0;
for ($x=0; $x <= count($aLeeftijden); $x++) { 

    if (getLeeftijdsCategorie($aLeeftijden[$x]) == 'kind') {
        $aantalKind;
    }

    if (getLeeftijdsCategorie($aLeeftijden[$x]) == 'volwassen') {
        $aantalVolwassen++;
    }

    if (getLeeftijdsCategorie($aLeeftijden[$x]) == 'bejaard') {
        $aantalBejaard++;
    }

}
echo "Aantal kinderen : ".$aantalKind;
echo "<br>Aantal volwassen personen  : ".$aantalVolwassen;
echo "<br>Aantal bejaarden  : ".$aantalBejaard;
    ?>

Hi, im getting 5 error messages can someone please help me i need to get how many people are children etcetra.

I already tried over an hour but i really cant find it.

The error message is:

PHP Notice: Undefined offset: 15 in D:\ICT Opleiding\Applicatieontwikkeling\phpsemester27\PHPPage.php on line 33 PHP Notice: Undefined offset: 15 in D:\ICT Opleiding\Applicatieontwikkeling\phpsemester27\PHPPage.php on line 37 PHP Notice: Undefined offset: 15 in D:\ICT Opleiding\Applicatieontwikkeling\phpsemester27\PHPPage.php on line 41

Thanks

2 个答案:

答案 0 :(得分:1)

“写入上下文中的函数返回值”与此行相关:

if (getLeeftijdsCategorie($aLeeftijden[$x]) = 'bejaard') {

您必须更改=中的==

然后,还有一个解析错误:

echo "<br>Aantal bejaarden  : "$aantalBejaard;

必须是:

echo "<br>Aantal bejaarden  : " . $aantalBejaard;
#                               ↑

未定义的偏移量错误是由for循环构造引起的:

for ($x=0; $x <= count($aLeeftijden); $x++) { 

必须是:

for ($x=0; $x < count($aLeeftijden); $x++) { 

$aLeeftijden计数为15,但最后一个指数为14。

答案 1 :(得分:0)

尝试以下内容:

// Improved readability    
function getLeeftijdsCategorie( $leeftijd ) {
  if( $leeftijd < 18 ) {
    $categorie = "kind";
  } else if( $leeftijd >= 18 && $leeftijd < 65 ){
    $categorie = "volwassen";
  } else {
    $categorie = "bejaard";
  }
 return $categorie;
}

//globale array met leeftijden
$aLeeftijden = array(16, 17, 18, 14, 22, 34, 67, 58, 8, 4, 55, 22, 34, 45, 35);

$aantalKind = 0;
$aantalBejaard = 0;                    
$aantalVolwassen = 0;

for( $x = 0; $x < count( $aLeeftijden ); $x++ ) { 

    if( getLeeftijdsCategorie( $aLeeftijden[$x] ) == 'kind') {
        $aantalKind++; // Forgot ++
    }

    if( getLeeftijdsCategorie( $aLeeftijden[$x] ) == 'volwassen') {
        $aantalVolwassen++;
    }

    // Forgot =
    if( getLeeftijdsCategorie( $aLeeftijden[$x] ) == 'bejaard') {
        $aantalBejaard++;
    }

}

// Writing strings like this is much less prone to errors 
echo "Aantal kinderen : {$aantalKind}";
echo "<br>Aantal volwassen personen  : {$aantalVolwassen}";
echo "<br>Aantal bejaarden  : {$aantalBejaard}";

如果将其包含在其他文件中,请不要关闭php,如果在关闭php标记后有空格,则可能会导致其他错误。