Пример ответа
1) Короткий ответ
В PHP есть скалярные типы (логические, целые, строки, числа с плавающей точкой), составные (массивы, объекты), специальные (ресурсы, null) и псевдо-типы.
2) Типы данных (список)
Скалярные:
bool
(true
/false
)int
(целые числа, например42
,-10
)float
(числа с плавающей точкой, например3.14
)string
(строки, например"Hello"
)
Составные:
array
(массивы, например[1, 2, 3]
или['key' => 'value']
)object
(экземпляры классов)callable
(функции, которые можно вызвать)iterable
(всё, что можно перебрать вforeach
)
Специальные:
resource
(внешний ресурс, например открытый файл)null
(отсутствие значения)
Псевдо-типы:
mixed
(любой тип)void
(отсутствие возвращаемого значения)
5) Пример с строгой типизацией
php
Copy
Download
declare(strict_types=1); // Строгий режим
function calculateTotal(float $price, int $quantity): string {
$total = $price * $quantity;
return "Total: $total"; // float автоматически преобразуется в string
}
$result = calculateTotal(19.99, 2);
echo $result; // "Total: 39.98"
6) Follow-up вопросы
Чем
array
отличается отobject
? → Структура, методы.Когда использовать
iterable
вместоarray
? → Генераторы, коллекции.
7) Практический совет
Во всех новых методах вашего проекта явно указывайте типы для аргументов и возвращаемых значений — это предотвратит множество ошибок.
Поэкспериментируйте со строгим режимом (
declare(strict_types=1)
), чтобы понять, где в вашем коде происходит неявное преобразование типов.