Таблица сравнения типов в PHP

Следующие таблицы демонстрируют работу PHP с типами переменных и операторами сравнения, как в случае свободного, так и в случае строгого сравнения. Также эта информация относится к разделу документации по приведению типов. Вдохновением на создание этого раздела мы обязаны различным комментариям пользователей и работе над » BlueShoes.

До осмотра таблиц, важно знать и понимать типы переменных и их значения. К примеру, "42" -- строка, в то время как 42 -- целое. FALSE -- логическое, а "false" -- строка.

Замечание: HTML-формы не передают тип переменной: они всегда передают строки. Для проверки является ли строка числом, используйте функцию is_numeric().

Замечание: Использование if ($x) пока $x не определена сгенерирует ошибку E_NOTICE. Вместо этого используйте функцию empty() или isset() и/или инициализируйте переменную.

Сравнение типов $x и результатов функций PHP, связанных с типами
Выражение gettype() empty() is_null() isset() логическое : if($x)
$x = ""; строка TRUE FALSE TRUE FALSE
$x = NULL NULL TRUE FALSE
var $x; NULL TRUE FALSE
$x неопределена NULL TRUE FALSE
$x = array(); массив TRUE FALSE TRUE FALSE
$x = false; логическое TRUE FALSE TRUE FALSE
$x = true; логическое FALSE TRUE
$x = 1; целое FALSE TRUE
$x = 42; целое FALSE TRUE
$x = 0; целое TRUE FALSE TRUE FALSE
$x = -1; целое FALSE TRUE
$x = "1"; строка FALSE TRUE
$x = "0"; строка TRUE FALSE TRUE FALSE
$x = "-1"; строка FALSE TRUE
$x = "php"; строка FALSE TRUE
$x = "true"; строка FALSE TRUE
$x = "false"; строка FALSE TRUE

Гибкое сравнение с помощью ==
TRUE FALSE 1 0 -1 "1" "0" "-1" NULL array() "php"
TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE
FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE
1 TRUE FALSE TRUE FALSE TRUE FALSE
0 FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE
-1 TRUE FALSE TRUE FALSE TRUE FALSE
"1" TRUE FALSE TRUE FALSE TRUE FALSE
"0" FALSE TRUE FALSE TRUE FALSE TRUE FALSE
"-1" TRUE FALSE TRUE FALSE TRUE FALSE
NULL FALSE TRUE FALSE TRUE FALSE TRUE FALSE
array() FALSE TRUE FALSE TRUE FALSE
"php" TRUE FALSE TRUE FALSE TRUE

Жёсткое сравнение с помощью ===
TRUE FALSE 1 0 -1 "1" "0" "-1" NULL array() "php"
TRUE FALSE
FALSE TRUE FALSE
1 FALSE TRUE FALSE
0 FALSE TRUE FALSE
-1 FALSE TRUE FALSE
"1" FALSE TRUE FALSE
"0" FALSE TRUE FALSE
"-1" FALSE TRUE FALSE
NULL FALSE TRUE FALSE
array() FALSE TRUE FALSE
"php" FALSE TRUE

Замечание: Заметка о PHP 3.0 Строка "0" считалась не пустой, в PHP4 ситуация изменилась: строка трактуется как пустая.





HTML Site Map

Rambler's Top100
© 2009 Тест скорости интернета |  Boont.Ru