Какие типы данных есть в PHP
В PHP существует несколько основных типов данных, которые делятся на три категории: простые (скалярные), сложные и специальные. Простые типы включают boolean, integer, float и string; сложные — array и object; специальные — NULL и resource. PHP — язык с динамической типизацией, поэтому тип переменной определяется во время выполнения и может меняться.
Простые (скалярные) типы
Скалярные типы представляют одиночные значения.
- Boolean (логический тип) — принимает значения
trueилиfalse. Используется в условиях и логических операциях. - Integer (целое число) — целые числа, например,
42,-7. Диапазон зависит от разрядности системы (обычно 64-битное знаковое). - Float (число с плавающей точкой), также известный как double — числа с дробной частью, например,
3.14,-0.001. Подходит для вычислений, где нужна точность до определённого знака. - String (строка) — последовательность символов, например,
"Hello". Строки могут быть заключены в одинарные или двойные кавычки, поддерживают интерполяцию переменных.
Сложные типы
Сложные типы могут содержать другие значения.
- Array (массив) — упорядоченный набор данных, где каждый элемент имеет ключ и значение. Ключи могут быть целыми числами или строками. Массивы в PHP могут быть как списками, так и ассоциативными.
$list = [1, 2, 3];
$assoc = ['name' => 'Alice', 'age' => 30];- Object (объект) — экземпляр класса. Объекты позволяют использовать ООП: инкапсуляцию, наследование, полиморфизм.
class User {
public $name;
}
$user = new User();
$user->name = 'Bob';Специальные типы
- NULL — специальное значение, обозначающее отсутствие значения. Переменная считается
NULL, если ей присвоеноNULL, она не инициализирована или удалена черезunset(). - Resource (ресурс) — ссылка на внешний ресурс, например, файл, соединение с БД или поток. Создаётся специальными функциями, такими как
fopen(), и должен быть закрыт после использования.
$file = fopen('file.txt', 'r'); // resource
// ...
fclose($file);Объявление типов и динамическая типизация
PHP поддерживает объявление скалярных типов для аргументов функций и типов возвращаемых значений. Это делает код более предсказуемым и снижает количество ошибок.
function add(int $a, int $b): int {
return $a + $b;
}При этом PHP остаётся языком с динамической типизацией: переменная может менять тип в процессе выполнения. Например, $x = 5; $x = "text"; — допустимо. Это даёт гибкость, но требует внимательности, чтобы избежать неожиданных ошибок.
Коротко
- Основные типы: boolean, integer, float, string, array, object, NULL, resource.
- Скалярные типы — одиночные значения; сложные — массивы и объекты; специальные — NULL и resource.
- PHP — динамически типизированный язык, но поддерживает объявление типов для функций.
- Ресурсы требуют явного закрытия, а NULL обозначает отсутствие значения.
