Yalnızca iki değer bool türünde olabilir ve bunlar true
ve false
(doğru ve yanlış) olup doğruluk değerleri adını alır.
Bir bool sayılını belirtmek için true
veya false
sabiti kullanılır. Her ikisi de harf büyüklüğüne duyarsızdır.
<?php
$foo = True; // $foo değişkenine TRUE değeri atanır.
?>
Genelde, bool türünde bir değer döndüren bir işleç ifadesinin sonucu bir denetim yapısına aktarılır.
<?php
// == işleci, eşitliği sınar ve
// bool türünde bir değer döndürür
if ($eylem == "sürümü göster") {
echo "Sürüm numarası 1.23'tür.";
}
// Bu gereksizdir çünkü aynı manada kullanılır
if ($ayırıcı_göster == TRUE) {
echo "<hr>\n";
}
// ... böylesi daha iyidir:
if ($ayırıcı_göster) {
echo "<hr>\n";
}
?>
bool
türüne dönüşüm Bir değeri doğrudan bool türüne dönüştürmek için (bool)
çarpıtması kullanılabilir. Genelde bu gereksizdir, çünkü mantıksal bir bağlamda kullanılan bir değer otomatik olarak bool türünde bir değer olarak yorumlanır. Daha ayrıntılı bilgi için Tür Dönüşümü sayfasına bakılabilir.
Ayrıca, Tür Dönüşümü bölümüne de bakınız.
Aşağıdaki değerler bool türüne dönüşümde false
olarak ele alınırlar:
false
(kendisi) 0
(sıfır) 0.0
ve -0.0
(sıfır) ""
ve dizgesel "0"
(bool)
çarpıtmasını aşırı yükleyen dahili nesneler. Örneğin, SimpleXML nesneleri özniteliksiz boş elemanlardan oluşturulur. Bunların dışında kalan tüm değerler true
olarak ele alınır (resource türler ve NAN
dahil).
-1
ve sıfırdan farklı diğer değerler (pozitif veya negatif) true
olarak ele alınır.
<?php
var_dump((bool) ""); // bool(false)
var_dump((bool) "0"); // bool(false)
var_dump((bool) 1); // bool(true)
var_dump((bool) -2); // bool(true)
var_dump((bool) "foo"); // bool(true)
var_dump((bool) 2.3e5); // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array()); // bool(false)
var_dump((bool) "false"); // bool(true)
?>