Таблица сравнения типов в PHP Следующие таблицы демонстрируют работу PHP с типами переменных и операторами сравнения, как в случае свободного, так и в случае строгого сравнения. Также эта информация относится к разделу документации по приведению типов. Вдохновением на создание этого раздела мы обязаны различным комментариям пользователей и работе над BlueShoes. До осмотра таблиц, важно знать и понимать типы переменных и их значения. К примеру, "42" - string, в то время как 42 - integer. &false; - boolean, а "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). Сравнение типов <varname>$x</varname> и результатов функций PHP, связанных с типами Выражение gettype empty is_null isset boolean : 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(); array &true; &false; &true; &false; $x = array('a', 'b'); array &false; &false; &true; &true; $x = false; boolean &true; &false; &true; &false; $x = true; boolean &false; &false; &true; &true; $x = 1; integer &false; &false; &true; &true; $x = 42; integer &false; &false; &true; &true; $x = 0; integer &true; &false; &true; &false; $x = -1; integer &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;
Гибкое сравнение с помощью <literal>==</literal> &true; &false; 1 0 -1 "1" "0" "-1" &null; array() "php" "" &true; &true; &false; &true; &false; &true; &true; &false; &true; &false; &false; &true; &false; &false; &false; &true; &false; &true; &false; &false; &true; &false; &true; &true; &false; &true; 1 &true; &false; &true; &false; &false; &true; &false; &false; &false; &false; &false; &false; 0 &false; &true; &false; &true; &false; &false; &true; &false; &true; &false; &true; &true; -1 &true; &false; &false; &false; &true; &false; &false; &true; &false; &false; &false; &false; "1" &true; &false; &true; &false; &false; &true; &false; &false; &false; &false; &false; &false; "0" &false; &true; &false; &true; &false; &false; &true; &false; &false; &false; &false; &false; "-1" &true; &false; &false; &false; &true; &false; &false; &true; &false; &false; &false; &false; &null; &false; &true; &false; &true; &false; &false; &false; &false; &true; &true; &false; &true; array() &false; &true; &false; &false; &false; &false; &false; &false; &true; &true; &false; &false; "php" &true; &false; &false; &true; &false; &false; &false; &false; &false; &false; &true; &false; "" &false; &true; &false; &true; &false; &false; &false; &false; &true; &false; &false; &true;
Жесткое сравнение с помощью <literal>===</literal> &true; &false; 1 0 -1 "1" "0" "-1" &null; array() "php" "" &true; &true; &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &true; &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; 1 &false; &false; &true; &false; &false; &false; &false; &false; &false; &false; &false; &false; 0 &false; &false; &false; &true; &false; &false; &false; &false; &false; &false; &false; &false; -1 &false; &false; &false; &false; &true; &false; &false; &false; &false; &false; &false; &false; "1" &false; &false; &false; &false; &false; &true; &false; &false; &false; &false; &false; &false; "0" &false; &false; &false; &false; &false; &false; &true; &false; &false; &false; &false; &false; "-1" &false; &false; &false; &false; &false; &false; &false; &true; &false; &false; &false; &false; &null; &false; &false; &false; &false; &false; &false; &false; &false; &true; &false; &false; &false; array() &false; &false; &false; &false; &false; &false; &false; &false; &false; &true; &false; &false; "php" &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &true; &false; "" &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &true;