У логического типа (bool) только два значения,
которые используются для выражения истинностного значения.
Он может быть либо true
, либо false
.
Для указания bool, используйте константы true
или
false
. Они обе регистронезависимы.
<?php
$foo = True; // присвоить $foo значение TRUE
?>
Обычно, некоторый оператор возвращает значение типа bool, которое потом передаётся управляющей конструкции.
<?php
// == это оператор, который проверяет
// эквивалентность и возвращает boolean
if ($action == "show_version") {
echo "Версия 1.23";
}
// это необязательно...
if ($show_separators == TRUE) {
echo "<hr>\n";
}
// ... потому что следующее имеет тот же самый смысл:
if ($show_separators) {
echo "<hr>\n";
}
?>
Для явного преобразования в bool, используйте
приведение (bool)
.
Обычно в этом нет необходимости, поскольку при использовании значения в логическом контексте
оно автоматически интерпретируется как значение логического типа (bool).
Дополнительную информацию смотрите на странице манипуляции с типами.
При преобразовании в bool, следующие значения рассматриваются как
false
:
false
0
(ноль)
0.0
(ноль) и -0.0
(минус ноль)
""
и
строка "0"
Все остальные значения считаются true
(включая resource
и NAN
).
-1
рассматривается как true
, как и любое другое ненулевое
(отрицательное или положительное) число!
<?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)
?>