SORU
23 Ocak 2011, Pazar


Bir dize ayrıştırma PHP boolean bir değer haline

Bugün PHP ile oynuyordum, ve bu dize değerleri "" ve "yanlış" doğru bir durumda boolean için ayrıştırıldı değil, örneğin aşağıdaki fonksiyonu da dikkate alınarak . doğru keşfettim

function isBoolean($value) {
   if ($value) {
      return true;
   } else {
      return false;
   }
}

Eğer çalıştırmak için:

isBoolean("true") // Returns true
isBoolean("") // Returns false
isBoolean("false") // Returns true, instead of false
isBoolean("asd") // Returns true, instead of false

Sadece işe yaramıyor "1" ve "" değerleri: . 0

isBoolean("1") // Returns true
isBoolean("0") // Returns false

Orada "doğru" ve "yanlış" dizeleri boolean içine? ayrıştırmak için PHP yerel bir işlevdir

CEVAP
17 Mayıs 2012, PERŞEMBE


PHP kullanır. filter_var yöntemi: bu işi yerli PHP bir yöntem yoktur

$bool = filter_var($value, FILTER_VALIDATE_BOOLEAN);

PHP göre manuel:

Döndürür TRUE "1", "", "" ve"". evet doğru Aksi halde FALSE döndürür.

Eğer FİLTER_NULL_ON_FAİLURE set, FALSE döndürdü sadece "0", "false", "kapalı", "hayır" ve "" ve NULL döndürülür olmayan tüm boolean değerleri.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kyletiv7

    Kyletiv7

    28 Mayıs 2007
  • Machinima

    Machinima

    17 Ocak 2006
  • RobertDuskin

    RobertDuskin

    12 HAZİRAN 2008