Пример ответа
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)), чтобы понять, где в вашем коде происходит неявное преобразование типов.