Ответ
PHP поддерживает 8 основных типов данных, которые делятся на три категории: скалярные, составные и специальные.
1. Скалярные типы (Scalar Types)
-
bool - логический тип
$isActive = true; $isAdmin = false; -
int - целые числа
$count = 42; $negative = -100; $hex = 0x1A; // 26 в десятичной -
float (или double) - числа с плавающей точкой
$price = 19.99; $pi = 3.14159; $scientific = 1.2e3; // 1200 -
string - строки
$name = "John"; $multiline = "Line 1nLine 2"; $heredoc = <<<EOT This is a heredoc string spanning multiple lines EOT;
2. Составные типы (Compound Types)
-
array - массивы
// Индексный массив $numbers = [1, 2, 3, 4, 5]; // Ассоциативный массив $user = [ 'name' => 'John', 'email' => 'john@example.com', 'age' => 30 ]; -
object - объекты
class User { public string $name; public int $age; } $user = new User(); $user->name = 'John'; $user->age = 30;
3. Специальные типы (Special Types)
-
resource - ресурсы (ссылки на внешние ресурсы)
$file = fopen('data.txt', 'r'); // $file - ресурс $connection = mysqli_connect('localhost', 'user', 'pass', 'db'); -
NULL - отсутствие значения
$uninitialized = null; $deleted = unset($variable); // переменная становится NULL
Псевдотипы (Pseudotypes) для type-hinting:
mixed- любой типvoid- отсутствие возвращаемого значенияiterable- массив или объект, реализующий Traversablecallable- функция или метод, который можно вызвать
Строгая типизация (Strict Types):
declare(strict_types=1);
function add(int $a, int $b): int {
return $a + $b;
}
// Теперь вызов add('5', 10) вызовет TypeError