Булев
Вернуться к: Типы
Это простейший тип. boolean выражает истинность значения. Он
может быть либо TRUE
, либо FALSE
.
Синтаксис
Для указания boolean, используйте константы TRUE
или
FALSE
. Обе они регистронезависимы.
<?php
$foo = True; // присвоить $foo значение TRUE
?>
Обычно, некоторый оператор возвращает boolean значение, которое потом передается управляющей конструкции.
<?php
// == это оператор, который проверяет
// эквивалентность и возвращает boolean
if ($action == "show_version") {
echo "The version is 1.23";
}
// это необязательно...
if ($show_separators == TRUE) {
echo "<hr>\n";
}
// ... потому что следующее имеет тот же самый смысл:
if ($show_separators) {
echo "<hr>\n";
}
?>
Преобразование в булев тип
Для явного преобразования в boolean, используйте (bool) или (boolean). Однако, в большинстве случаев приведение типа необязательно, так как значение будет автоматически преобразовано, если оператор, функция или управляющая конструкция требует boolean аргумент.
Смотрите также Манипуляции с типами.
При преобразовании в boolean, следующие значения рассматриваются как
FALSE
:
-
само значение boolean
FALSE
- integer 0 (ноль)
- float 0.0 (ноль)
- пустая строка, и строка "0"
- массив без элементов
- объект без полей (только для PHP 4)
- особый тип NULL (включая неустановленные переменные)
- Объекты SimpleXML, созданные из пустых тегов
Все остальные значения рассматриваются как TRUE
(включая любой
resource).
-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)
?>
Вернуться к: Типы