Тип определяет, сколько памяти выделяется для значения, а также какие операции с ним допустимы. В PHP существует десять примитивных типов: четыре скалярных, четыре составных и два специальных.

Типы в PHP

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

  • bool - логический тип.
  • int - целое число.
  • float - число с плавающей точкой.
  • string - строка.

Составные типы

  • array - массив.
  • object - объект.
  • callable - вызываемое значение.
  • iterable - итерируемое значение.

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

  • resource - ресурс.
  • null - пустое значение.

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

Переменная считается скалярной, если содержит одно значение: целое число, число с плавающей точкой, строку или логическое значение.

Целые числа (Integer)

Целые числа - это числа без дробной части (..., -3, -2, -1, 0, 1, 2, 3, ...). Размер целого числа зависит от платформы. Константа PHP_INT_SIZE указывает размер целого числа на конкретной платформе. В PHP для обозначения целого типа используется ключевое слово int.
Пример:

Числа с плавающей точкой (Float)

Числа с плавающей точкой (float) также называют вещественными числами. В PHP они представляются в формате IEEE 754 double и имеют ограниченную точность. Для обозначения используется ключевое слово float.
Пример:

Логический тип (Boolean)

Логический тип (bool) может принимать значения true или false. Ключевые слова не чувствительны к регистру: trueTrueTRUE и т. д.
Пример:
В логическом контексте (например, в if-else) PHP автоматически преобразует значения других типов в логические. Ложными считаются:
  • ключевое слово false,
  • целые 0 и -0,
  • float 0.0 и -0.0,
  • пустая строка и строка "0",
  • пустой массив,
  • null,
  • объекты SimpleXML из пустых элементов без атрибутов.
Все остальные значения считаются истинными.

Строки (String)

Строка - это последовательность символов в одинарных или двойных кавычках.
Пример:

Составные типы

Составные типы содержат несколько значений. В PHP это массивы и объекты.

Массивы (Array)

Массив - это упорядоченная структура, связывающая ключи со значениями.
Пример индексированного массива:
Массивы могут быть ассоциативными (с ключами-строками):

Объекты (Object)

Объект - это экземпляр класса, обладающий свойствами и методами. Например, объект "человек" может иметь свойства "имя", "фамилия", "возраст" и метод получения полного имени.

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

Null

Тип null имеет только одно значение - null, обозначающее отсутствие значения у переменной.

Resource

Ресурс - это переменная-ссылка на внешний ресурс (файл, соединение с базой данных и т. д.). Ресурс не является данными как строка или число, а лишь ссылкой на что-то вне PHP. PHP автоматически освобождает ресурсы при их неиспользовании.

Итог

В PHP четыре скалярных типа (целое число, число с плавающей точкой, строка, логический), два составных (массив, объект) и два специальных (null, ресурс).