PHP未定义的偏移量数组错误

问题描述:

我为这个任务做了这个数组,但是我不太明白。我需要做的是从我的数组中识别出一个字符串,并在“我正在学习它”时打印出来。我觉得我很接近,但我一直在获取未定义的偏移量。PHP未定义的偏移量数组错误

$myArray = array ("C ", "Java", "C++ ", "Objective-C", "C#", "PHP","(Visual) 
        Basic", "Python", "JavaScript", "Perl", "Ruby", 
        "PL/SQL", "Delphi/Oject pascal","Visual Basic.Net", 
        "lisp", "Pascal", "Ada", "Transact-SQL", "Logo", "NXT-G"); 

for ($i = 0; $i<sizeof($myArray); $i++) 
    echo $myArray[$i]; 

if($myArray[$i] == "C") { 
    echo "I'm learning this too!"; 
} 
else { 
    echo "Your not learning anything"; 
} 
+0

除非使用'for'循环是强制性的,你可以使用['in_array'](http://php.net/manual/en/function.in-array.php)显式循环。 –

你缺少括号内为for loop

$myArray = array ("C ", "Java", "C++ ", "Objective-C", "C#", "PHP","(Visual) 
        Basic", "Python", "JavaScript", "Perl", "Ruby", 
        "PL/SQL", "Delphi/Oject pascal","Visual Basic.Net", 
       "lisp", "Pasca", "Ada", "Transact-SQL", "Logo", "NXT-G"); 

for ($i = 0; $i< sizeof($myArray); $i++) 
{ 
    echo $myArray[$i]."<br>"; 
    if($myArray[$i] == "C") { 
    echo "I'm learning this too!"; 
    } 
    else { 
    echo "Your not learning anything"; 
    } 
} 
+0

这个修正了它,我看到我出错了,谢谢! –

你错过了花括号在for循环。

for for循环执行多次for命令后的单个指令。如果你想要做多的事情,你需要将它们用括号{}

for ($i = 0; $i<sizeof($myArray); $i++) 
{ 
    echo $myArray[$i]; 
    if($myArray[$i] == "C") 
    { 
     echo "I'm learning this too!"; 
    } 
    else 
    { 
     echo "Your not learning anything"; 
    } 
} 

尝试合并成块,并紧贴你的块的布局形式,否则它很难注意到,当你的括号不正确连接。