2017-03-04 3 views
0

Ich habe dieses Array für eine Aufgabe gemacht, aber ich kann es nicht ganz richtig machen. Was ich dazu brauche, ist eine Zeichenfolge aus meinem Array zu erkennen und auszudrucken, wenn "Ich lerne es". Ich denke, ich bin nah dran, aber ich bekomme immer undefinierten Offset.PHP undefined Offset Array Fehler

$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

Außer wenn eine 'for'-Schleife obligatorisch ist, können Sie dasselbe auch mit der Funktion [' in_array'] (http://php.net/manual/en/function.in-array.php) ohne eine tun explizite Schleife. –

Antwort

2

Sie fehlen Klammern für 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

Das hat es behoben, ich sehe, wo ich falsch gelaufen bin, Danke! –

1

Sie verpassen auf die umschließenden Klammern für Schleife.

Eine for-Schleife führt den einzelnen Befehl nach dem for-Befehl mehrmals aus. Wenn Sie mehrere Dinge tun wollen, müssen Sie sie in einen Block mit Klammern kombinieren {}

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"; 
    } 
} 

Versuchen und in engen Zusammenhang mit einem Layout-Format für Ihre Blöcke zu halten, sonst ist es schwieriger zu bemerken, wenn Ihre Zahnspange nicht richtig verbinden.