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)
?>