Menu
Coddy logo textTech

Объявления типов параметров

Часть раздела Основы путешествия по PHP на Coddy. Урок 65 из 71.

PHP — это язык с слабой типизацией, что означает, что переменные могут содержать данные любого типа. Хотя эта гибкость удобна, она может привести к неожиданным ошибкам, когда функция получает аргумент неправильного типа. Объявления типов позволяют точно указать, какие типы должны принимать ваши параметры.

Чтобы добавить объявление типа, поместите имя типа перед параметром:

<?php
function double(int $number) {
    return $number * 2;
}

echo double(5);
?>

Это выводит 10. int перед $number сообщает PHP, что эта функция ожидает целое число. Если кто-то передаст строку вроде "hello", PHP выдаст ошибку вместо того, чтобы молча вызывать проблемы позже.

Вы можете использовать объявления типов с несколькими параметрами:

<?php
function greetUser(string $name, int $age) {
    return "$name is $age years old.";
}

echo greetUser("Alice", 25);
?>

Распространённые объявления типов включают int, float, string, bool и array. Использование их делает ваш код более предсказуемым и помогает выявлять ошибки на ранних этапах, особенно по мере роста ваших программ.

challenge icon

Задание

Легко

Прочитайте три строки ввода:

  1. Имя человека (например, Alice)
  2. Фамилия человека (например, Smith)
  3. Год рождения (например, 1995)

Создайте функцию с именем createProfile, которая принимает три параметра с объявлениями типов:

  • $firstName как string
  • $lastName как string
  • $birthYear как int

Функция должна вычислить возраст человека (предполагая, что текущий год — 2024) и вернуть строку в следующем формате:

[firstName] [lastName] is [age] years old.

Вызовите функцию с значениями ввода и выведите возвращенный результат.

Пример 1:

Если ввод: Alice, Smith и 1995, вывод должен быть:

Alice Smith is 29 years old.

Пример 2:

Если ввод: Bob, Johnson и 2000, вывод должен быть:

Bob Johnson is 24 years old.

Пример 3:

Если ввод: Emma, Davis и 1988, вывод должен быть:

Emma Davis is 36 years old.

Попробуйте сами

<?php
// Чтение ввода
$firstName = trim(fgets(STDIN));
$lastName = trim(fgets(STDIN));
$birthYear = intval(fgets(STDIN));

// TODO: Создать функцию createProfile с объявлениями типов
// Функция должна принимать $firstName (string), $lastName (string) и $birthYear (int)
// Вычислить возраст (текущий год 2024) и вернуть отформатированную строку


// Вызвать функцию и вывести результат
echo createProfile($firstName, $lastName, $birthYear);
?>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор PHP