Kod daha açıklayacağız:
$var = 0;
if (!empty($var)){
echo "Its not empty";
} else {
echo "Its empty";
}
Sonuç "Onun boş" döndürür. Ben zaten içeride değer değişkeni ayarlamak ve varsa boş () kontrol edecektir düşündüm. Neden "Onun boş" verir?
Aşağıdakiler boş olarak kabul edilir:
- "" (Boş dize)
- 0 (bir tamsayı olarak 0)
- "0" (bir dizge olarak 0)
- NULL
- YANLIŞ
- array () (boş bir dizi)
- var $ var; (Değişken bildirilmiş, ancak bir sınıfta bir değeri olmayan)
Bu Boole bir zorlama için tam olarak aynı liste olduğunu unutmayın false. empty basitçe !isset($var) || !$var. isset a> yerine deneyin.
Kimse önerdi, neden ben merak ediyorum, son derece kullanışlı Type comparison table. Bu ortak işlevleri ve karşılaştırma operatörleri ile ilgili her soruyu yanıtlar.
A pasajı:
Expression | empty()
----------------+--------
$x = ""; | true
$x = null | true
var $x; | true
$x is undefined | true
$x = array(); | true
$x = false; | true
$x = true; | false
$x = 1; | false
$x = 42; | false
$x = 0; | true
$x = -1; | false
$x = "1"; | false
$x = "0"; | true
$x = "-1"; | false
$x = "php"; | false
$x = "true"; | false
$x = "false"; | false
Diğer cheatsheets boyunca, ben hep durumda ben emin değilim masamda bu tablonun bir basılı tutmak
From manual: Returns YANLIŞ if var has a non-empty and non-zero value.
Aşağıdakiler boş olarak kabul edilir:
Daha fazla: http://php.net/manual/en/function.empty.php
Aşağıdakiler boş olarak kabul edilir:
Dan PHP Manual
Senin durumunda $var böylece empty($var), bunu test etmeden önce sonucu inkâr edilir true dönecektir, 0, bu nedenle başka bir blok çıkışı olarak "Its empty" vererek çalışacaktır.
empty() returns true for everything that evaluates to FALSE, aslında bir 'değil' (!) kılık değiştirmiş olduğunu. Ne demek düşünüyorum isset() a>
Aslında sadece değişken setleri ya da eğer bu durumda not.In sizin değişken gerçekten sıfır olup olmadığını kontrol edin ya da bu örneği kullanabilirsiniz boşaltmak istiyorsanız lütfen kontrol isset:
$myVar = '';
if (empty($myVar))
{
echo "Its empty";
}
echo "<br/>";
if ($myVar===0)
{
echo "also zero!";
}
sadece boş fonksiyonu gibi ihbar $ myVar == 0 hareket için.