ENIGMA AI
ENIGMA AI

Какие типы данных существуют в PHP?

встречается 5× PHP junior language_specific

Как ответить

В PHP есть восемь основных типов данных, которые делятся на три группы: скалярные (int, float, string, bool), составные (array, object) и специальные (NULL, resource). PHP — язык с динамической типизацией, поэтому тип переменной определяется автоматически во время присваивания, но начиная с PHP 7 можно использовать строгую типизацию (declare(strict_types=1)) для функций.

Скалярные типы:

  • int — целые числа (диапазон зависит от платформы, обычно 64-битные).
  • float — числа с плавающей точкой (double).
  • string — строки, работают с UTF-8 (например, mb_strlen).
  • booltrue или false.

Составные:

  • array — упорядоченное отображение (ключ → значение). Ключи могут быть int или string. Пример: $user = ['name' => 'Ivan', 'age' => 25];
  • object — экземпляры классов. Создаётся через new или приведением типа ((object) $array).

Специальные:

  • NULL — переменная без значения.
  • resource — внешний ресурс (например, соединение с БД), используется редко, в новых версиях заменяется объектами.

В PHP важно помнить об автоматическом приведении типов. Например, '5' + 3 даст int 8. Это может приводить к неожиданным ошибкам. Для проверки типа используйте is_int(), is_string(), а для явного приведения — (int), (string) и так далее.

Пример кода с определением типа:

$value = 42;
echo gettype($value); // integer
$value = strval($value); // теперь string

Ключевые тезисы

  • Восемь основных типов: int, float, string, bool, array, object, NULL, resource.
  • Динамическая типизация: тип переменной определяется значением, а не объявлением.
  • Автоматическое приведение типов (type juggling) может вызывать неочевидные ошибки — нужно быть внимательным.
  • Для строгой типизации в функциях используют declare(strict_types=1), иначе PHP пытается преобразовать аргументы.
  • Проверку типа выполняют функции gettype() и is_* (is_int, is_string и др.).

Что спросят дальше

  • — Чем отличается == от === при сравнении переменных разных типов?
  • — Какие изменения в работе с типами появились в PHP 8?
  • — Что такое type hinting и как его используют в функциях?

Готовьтесь к собеседованию с ENIGMA AI

AI-суфлёр подсказывает ответы прямо на собеседовании в реальном времени — незаметно для интервьюера.

Скачать приложение