Введение

У каждого выражения в PHP один из следующих встроенных типов в зависимости от его значения:

  • null
  • bool
  • int
  • float (floating-point number)
  • string
  • array
  • object
  • callable
  • resource

PHP – динамически типизированный язык, что означает, что по умолчанию нет необходимости указывать тип переменной, так как он будет определён во время выполнения. Однако можно статически типизировать некоторые аспекты языка, используя декларации типов.

Типы ограничивают тип операций, которые могут быть выполнены над ними. Однако, если выражение/переменная используется в операции, которую не поддерживает её тип, PHP попытается преобразовать значение в тип, который поддерживает операцию. Этот процесс зависит от контекста, в котором используется значение. Для получения дополнительной информации смотрите раздел Манипуляции с типами.

Подсказка

Таблицы сравнения типов также могут быть полезны, поскольку в них представлены различные примеры сравнения значений разных типов.

Замечание: Можно заставить выражение оцениваться с определённым типом, используя приведение типов. Переменная также может быть приведена к определённому типу с помощью функции settype().

Чтобы проверить значение и тип выражения, используйте функцию var_dump(). Чтобы получить тип выражения, используйте функцию get_debug_type(). Однако, чтобы проверить, является ли выражение определённым типом, используйте функции is_type.

<?php
$a_bool 
true;   // логическое значение
$a_str  "foo";  // строка
$a_str2 'foo';  // строка
$an_int 12;     // целое число

echo get_debug_type($a_bool), "\n";
echo 
get_debug_type($a_str), "\n";

// Если это целое число, увеличить на четыре
if (is_int($an_int)) {
    
$an_int += 4;
}
var_dump($an_int);

// Если $a_bool - это строка, вывести её
if (is_string($a_bool)) {
    echo 
"Строка: $a_bool";
}
?>

Результат выполнения данного примера в PHP 8:

bool
string
int(16)

Замечание: До PHP 8.0.0, где функция get_debug_type() недоступна, вместо неё можно использовать функцию gettype(). Однако она не использует канонические имена типов.

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top