2012-12-26 3 views
7

Wie ich mich erinnere, vorher musste ich immer zählen ($ Array), bevor Sie eine foreach. Von da an mache ich immer diesen doublecheck, und wollte wissen, macht es heute Sinn mit PHP 5.4?Ist es sicher, foreach auf leeren PHP-Arrays in PHP 5.4 aufzurufen?

Ich habe error_reporting folgende Skript auf E_ALL und ausgeführt:

$x = []; 

foreach($x as $y) { 
    var_dump($y); 
} 

und bekam keine Notiz (wie ich erinnere mich, vorher, vielleicht war es PHP5.3) Ich war immer Mitteilung.

Ist es sicher jetzt foreach für Array verwenden, das ist leer?

+4

Es war immer sicher, ein leeres Array aufzuzählen. Welche Nachricht haben Sie zuvor erhalten? Vielleicht lag es an einem anderen Problem? – cdhowie

+0

Nein, ich bin mir sicher, ich erinnere mich, ich bekam einige Hinweise über leere Array O_o, erinnere mich nicht daran, es ist Text :( – avasin

+6

Iterieren eines leeren Array war immer sicher. Wenn das Array nicht existiert oder ist "null" Aber das ist eine andere Geschichte. –

Antwort

14

Solange es sich um ein Array handelt, muss die Anzahl der darin enthaltenen Objekte nicht überprüft werden. Stellen Sie sicher, dass Sie ihm ein aktuelles iterierbares Objekt übergeben: übergeben Sie ihm beispielsweise keine zufälligen Objekte oder NULL.

Aber ja, foreach([] as $nothing) {} ist sicher.