Це найпростіший тип. Логічний тип виражає правдивість
значення, яке може бути або правдивим (true
), або хибним (false
).
Щоб позначати логічний тип літерами, використовуються
константи true
та false
. Обидві є регістро-нечутливими.
<?php
$foo = True; // для змінної $foo встановлено значення TRUE
?>
Типово, результат від оператора повертається зі значенням логічного типа та передається до контролюючої структури.
<?php
// два підряд знаки дорівнює == вважаються оператором, який перевіряє
// рівність та повертає значення логічного типа
if ($action == "show_version") {
echo "Це версія 1.23";
}
// такий вираз не є обов'язковим...
if ($show_separators == TRUE) {
echo "<hr>\n";
}
// ...тому що вираз з таким же сенсом можна записати так:
if ($show_separators) {
echo "<hr>\n";
}
?>
Щоб явно конвертувати значення до логічного типа,
використовуйте приведення типа за допомогою запису (bool)
чи (boolean)
. Хоча, в більшості випадків приведення типа
необов'язкове, оскільки значення буде автоматично конвертоване, якщо
оператор, функція чи контролююча структура вимагає логічний аргумент.
Прогляньте також Маніпуляції з типами.
При конвертації boolean, наступні значення сприймаються як
хибні (false
):
false
тобто власне саме логічне хибне значення
(boolean)
Будь-яке інше значення сприймається як правдиве (true
) (включаючи
тип ресурс).
-1
сприймається як правдиве значення (true
), як і будь-яке інше
(від'ємне чи додатнє) ненульове число!
<?php
var_dump((bool) ""); // 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)
?>