Bir öğe php () döngü bir foreach kullanıma hazır olduğunu doğrulamak için en iyi yolu nedir?

0 Cevap

Örnek:

foreach($boxes as $box) {
    echo "$box \n";
}

Oldukça kolay olması için kullanılır, ben sadece böyle bir çek etrafında foreach sarın:

if(is_array($boxes) && count($boxes) > 0) {
    //foreach loop here
}

Sebebi ne olursa olsun kötü girdi $ kutuları dizi geçildi eğer atýlacaktý bir uyarı hakkında endişelenmenize gerek kalmadan.

Yineleyiciler, karışıma ilave edildiğinde Iteratable nesneler diziler değil gibi, bu artık, çalışır. Yani, ben bir kaç çözüm var, ama bu bir 'en iyi uygulama' olup olmadığını merak ediyorum.

// 1:
if($boxes instanceof Traversable && count($boxes) > 0) {
    //foreach loop here
}

// 2:
if($boxes && count($boxes) > 0) {
    //foreach loops here
}

Başkaları, ancak bu en belirgin gibi görünüyor. Herkes herhangi bir öneriniz var. PHP docs sessiz gibi görünüyor.

0 Cevap