PHP, bu her zaman aynı değerleri dönecektir?
//example 1
$array = array();
if ($array) {
echo 'the array has items';
}
// example 2
$array = array();
if (count($array)) {
echo 'the array has items';
}
Teşekkür ederiz!
http://www.php.net/manual/en/language.types.boolean.php bakıldığında, boş bir dizi YANLIŞ kabul olduğunu söylüyor.
(Quoted): When converting to boolean, the following values are considered FALSE:
Beri
beklendiği gibi daha sonra söz gösterilen iki olgu her zaman çalışacaktır.
Gerçekten de onlar olacaktır. Bir bool bir dizi dönüştürme dışı boş ise size gerçek vermek ve bir dizi sayısı birden fazla elemanı ile gerçek olacaktır.
Ayrıca bakınız: http://ca2.php.net/manual/en/language.types.boolean.php#language.types.boolean.casting
Not ikinci örnek (10000 yineleme üzerinde) benim sistemde en az% 50 oranında önemli ölçüde yavaştır (count()
kullanarak). count()
aslında bir dizinin elemanları sayar. Ben olumlu değilim, ama ben çok empty()
gibi bir boolean eserleri için bir dizi döküm hayal, ve en kısa sürede en az bir elemanı bulur gibi durur.