Bir dizi veya null değişken olabilen verileri işlemek ve bazı foreach
leri bu verilerle beslemek sık sık başıma geliyor.
$values = get_values();
foreach ($values as $value){
...
}
Bir foreach'i dizi olmayan verilerle beslediğinizde bir uyarı alırsınız:
Uyarı: foreach() için [...] içinde geçersiz bağımsız değişken sağlandı
get_values()` fonksiyonunu her zaman bir dizi döndürecek şekilde yeniden düzenlemenin mümkün olmadığını varsayarsak (geriye dönük uyumluluk, kaynak kodun mevcut olmaması, başka bir neden), bu uyarılardan kaçınmanın en temiz ve en verimli yolunun hangisi olduğunu merak ediyorum:
$values
dizisine döküm$values
dizisini başlatmaforeach
in bir if
ile sarılmasıŞahsen bunun en temiz yöntem olduğunu düşünüyorum - en verimli yöntem olup olmadığından emin değilim!
if (is_array($values) || is_object($values))
{
foreach ($values as $value)
{
...
}
}
Tercih etmemin nedeni, zaten başlangıçta hiçbir şeyiniz olmadığında boş bir dizi tahsis etmemesidir.
Andy ile aynı şeyi yapardım ama 'empty' fonksiyonunu kullanırdım.
böyle:
if(empty($yourArray))
{echo"<p>There's nothing in the array.....</p>";}
else
{
foreach ($yourArray as $current_array_item)
{
//do something with the current array item here
}
}