Следующие таблицы показывают работу PHP с типами переменных и операторами сравнения как для свободных, так и для строгих сравнений. Эта информация также относится к разделу документации по приведению типов. Написать этот раздел разработчиков PHP воодушивили комментарии пользователей и работа над фреймворком » BlueShoes.
Перед тем как начать пользоваться таблицами, важно понять типы и их значения. Наример, «42»
— строка (string), а 42
— целое число (int). Значение false
— логическое значение (bool), а «false»
— строка (string).
Замечание:
HTML-формы не передают целые, дробные числа или логические переменные: они передают только строки. Выяснить, числовая ли строка, можно через функцию is_numeric().
Замечание:
Выражение
if ($x)
, если переменная $x не определена, сгенерирует ошибку уровняE_NOTICE
. Вместо этого пользуются языковыми конструкциями empty() или isset(), и/или инициализируют переменную.
Замечание:
Бывают арифметические операции, возвращающие значение, которое представляет константа
NAN
(Not A Number, нечисло). Любое строгое или нестрогое сравнение этого значения с любым другим, включая его самого, но исключаяtrue
, вернётfalse
(т. е.NAN != NAN
иNAN !== NAN
). Примеры операций, возвращающихNAN
, —sqrt(-1)
,asin(2)
иacosh(0)
.
Выражение | gettype() | empty() | is_null() | isset() | bool : if($x) |
---|---|---|---|---|---|
$x = ""; | string | true | false | true | false |
$x = null; | NULL | true | true | false | false |
var $x; | NULL | true | true | false | false |
$x не определена | NULL | true | true | false | false |
$x = []; | array | true | false | true | false |
$x = ['a', 'b']; | array | false | false | true | true |
$x = false; | bool | true | false | true | false |
$x = true; | bool | false | false | true | true |
$x = 1; | int | false | false | true | true |
$x = 42; | int | false | false | true | true |
$x = 0; | int | true | false | true | false |
$x = -1; | int | false | false | true | true |
$x = "1"; | string | false | false | true | true |
$x = "0"; | string | true | false | true | false |
$x = "-1"; | string | false | false | true | true |
$x = "php"; | string | false | false | true | true |
$x = "true"; | string | false | false | true | true |
$x = "false"; | string | false | false | true | true |
true
до PHP 8.0.0.