2017-12-03 4 views
-1

Wenn ich den folgenden Code ausführen, bekomme ich genau die Ausgabe, die ich brauche.PHP for Schleife wirft undefined Offset Warnung

$array_items = count($links); 
for ($i = 0; $i <= $array_items; $i++) { 
    echo $links[$i]->title; 
} 

Allerdings erhalte ich 2 Hinweise:

Hinweis: Undefined offset: 2 in C: \ xampp \ htdocs ...

Hinweis: Der Versuch, Eigentum von Nicht-Objekt zu erhalten in C: \ xampp \ htdocs ...

ich denke, das ist, weil $links ein Array zurückgibt und innerhalb dieses Array ist ein Objekt.

Wie kann ich es beheben?

+0

Sie wollen '$ i <$ array_items' , nicht '$ i <= $ array_items'. – ceejayoz

+2

Wenn '$ links' ein Array ist, warum benutzen Sie nicht einfach' foreach'? –

+0

@ azeós würde meine Stimme bekommen. –

Antwort

1

Sie brauchen nur zu überprüfen, ob $i niedriger ist als die Anzahl ist, da der Index Anfang Form 0 und die Zählung Sie zurück, um die Gesamtanzahl der Objekte geben (+1)

$array_items = count($links); 
for ($i = 0; $i < $array_items; $i++) { 
    echo $links[$i]->title; 
} 
+0

Sehr hilfreich! Vielen Dank! –

+0

@RezaSaadati Wenn ihre Lösung die Warnungen für Sie los ist, könnten Sie auf das Häkchen klicken, um es als die richtige Antwort auszuwählen? – vqdave

+0

Sicher musste ich nur darauf warten. Weil du immer ca. 10 Minuten warten musst;) –