Введение
PHP поддерживает восемь простых типов.
Четыре скалярных типа:
Два смешанных типа:
И, наконец, два специальных типа:
Для удобства понимания в этом руководстве используется также несколько псевдотипов:
И псевдопеременная $...
.
Вы также можете найти несколько упоминаний типа двойной точности (double). Рассматривайте его как число с плавающей точкой, два имени существуют только по историческим причинам.
Как правило, программист не устанавливает тип переменной; обычно это делает PHP во время выполнения программы в зависимости от контекста, в котором используется переменная.
Замечание: Если вы желаете проверить тип и значение определённого выражения, используйте var_dump().
Если же вам для отладки необходимо просто удобочитаемое представление типа, используйте gettype(). Чтобы проверить на определенный тип, не используйте gettype(), применяйте для этого is_type функции. Вот несколько примеров:
<?php
$a_bool = TRUE; // логический
$a_str = "foo"; // строковый
$a_str2 = 'foo'; // строковый
$an_int = 12; // целочисленный
echo gettype($a_bool); // выводит: boolean
echo gettype($a_str); // выводит: string
// Если это целое, увеличить на четыре
if (is_int($an_int)) {
$an_int += 4;
}
// Если $a_bool - это строка, вывести ее
// (ничего не выводит)
if (is_string($a_bool)) {
echo "Строка: $a_bool";
}
?>
Если вы хотите принудительно изменить тип переменной, вы можете либо привести переменную, либо использовать функцию settype().
Обратите внимание, что переменная, в зависимости от ее типа в данный момент, в определённых ситуациях может иметь разные значения. Более подробную информацию смотрите в разделе Манипуляции с типами. Также вам, возможно, будет интересно посмотреть таблицы сравнения типов, поскольку в них приведены примеры различных сравнений, связанных с типами.
Коментарии
get_debug_type() 返回变量的类型。原文中文: get_debug_type() 检索表达式的值和类型;原文英文:To retrieve the type of an expression, use the get_debug_type() function. However。所以这个地方翻译存在问题,检索表达式的类型使用get_debug_type()方法。