Boş PHP değişkenleri

2 Cevap php

isset() veya empty() boş bir değişken için test etmek yanı sıra daha iyi bir yolu var mı?

2 Cevap

Bu bağlamda bağlıdır.

isset() değişkenin değeri değil zaman SADECE NULL true döndürür (ve böylece değişken en az tanımlanır).

Değişkenin değeri "boş" bir değer, genellikle bu aracı olarak kabul edildiğinde empty() true dönecektir 0, "0", {[(3) ]}, FALSE, array() (boş bir dizi) ve "" (boş dize), başka bir şey boş değil.

Bazı örnekler

FALSE == isset($foo);
TRUE == empty($foo);
$foo = NULL;
FALSE == isset($foo);
TRUE == empty($foo);
$foo = 0;
TRUE == isset($foo);
TRUE == empty($foo);
$foo = 1;
TRUE == isset($foo);
FALSE == empty($foo);

Olsa PHP ile olsun garip == bazı sonuçları için bir göz uzak tutun; Eğer beklediğiniz sonucu elde etmek için === kullanmanız gerekebilir, örneğin

if (0 == '') {
  echo "weird, huh?\n";
}

if  (0 === '') {
  echo "weird, huh?\n";
} else {
  echo "that makes more sense\n";
}

0 false, ve boş bir dize yanlış olduğundan, 0 =='' doğru olan, YANLIŞ == FALSE aynıdır. De türlerini kontrol etmek === güçleri PHP kullanma.