2012-12-26 12 views
7

Come ricordo, prima dovevo sempre controllare il conteggio ($ array) prima di creare un foreach. Da quel momento ho sempre fatto questo doppio controllo, e volevo sapere, ha senso oggi con php 5.4?È sicuro chiamare foreach su array php vuoti in PHP 5.4?

ho impostato error_reporting a E_ALL e giustiziati seguente script:

$x = []; 

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

e ottenuto alcun avviso (come mi ricordo, in precedenza, forse era PHP5.3) mi è stato sempre preavviso.

È sicuro ora utilizzare foreach su array, che è vuoto?

+4

È sempre stato sicuro enumerare un array vuoto. Quale avviso hai ricevuto prima? Forse era dovuto ad un altro problema? – cdhowie

+0

no, sono sicuro, mi ricordo che stavo facendo un po 'di attenzione sull'array vuoto O_o, non ricordo che è testo :( – avasin

+6

Iterare un array vuoto è sempre stato sicuro.Se l'array non esiste o è 'null' però, questa è un'altra storia: –

risposta

14

Fintanto che si tratta di un array, non è necessario controllare la quantità di elementi in esso contenuti. Assicurati solo di passarlo un oggetto iterabile reale: ad esempio, non passare oggetti casuali o NULL.

Ma sì, foreach([] as $nothing) {} è sicuro.