PHP PHP  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  ·  👥 3 прошли

Функции и параметры

Вопросы разбирают не только объявление функции, но и договор, который она задаёт вызывающему коду. Нужно заметить несовместимый тип, опасный параметр по ссылке, отсутствие return и зависимость, спрятанную за удобной сигнатурой.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. Читайте сигнатуру как контракт: вход, возможные изменения и выход. На выполнение отведено 55 минут.
Вопрос 1 из 20
Какой результат вернёт вызов add(2, 3), расположенный до объявления функции?
PHP
echo add(2, 3);
function add(int $a, int $b): int {
    return $a + $b;
}
Вопрос 2 из 20
Проект поддерживает PHP 8.0. Как передать встроенную функцию trim в array_map, не вызывая её заранее?
PHP
$items = [' a ', ' b '];
Вопрос 3 из 20
Почему функция, которая читает глобальную дату и случайное число, труднее тестируется?
Вопрос 4 из 20
Что означает выражение strlen(...) в современном PHP?
PHP
$length = strlen(...);
echo $length('abc');
Вопрос 5 из 20
Функция одновременно сохраняет заказ, отправляет письмо и формирует HTML. Какое изменение обычно полезнее?
Вопрос 6 из 20
Что произойдёт при строгой типизации?
PHP
declare(strict_types=1);
function twice(int $n): int { return $n * 2; }
echo twice('4');
Вопрос 7 из 20
Какая сигнатура sum примет несколько отдельных целых аргументов и соберёт их внутри функции в массив $values?
PHP
echo sum(2, 3, 5);
Вопрос 8 из 20
Какой риск есть у именованных аргументов при вызове чужой библиотеки?
Вопрос 9 из 20
Что выведет функция?
PHP
function total(int ...$numbers): int {
    return array_sum($numbers);
}
echo total(1, 2, 3);
Вопрос 10 из 20
Параметр принимает объект, умеющий сохранять данные, независимо от конкретного класса. Какой тип лучше выражает требование?
Вопрос 11 из 20
Какое значение получит переменная после вызова функции без необязательного аргумента?
PHP
function limit(int $n = 10): int { return $n; }
echo limit();
Вопрос 12 из 20
Почему обязательный параметр после необязательного — плохая сигнатура?
PHP
function connect(string $host = 'localhost', string $user): Connection
{
    return new Connection($host, $user);
}
Вопрос 13 из 20
Как отличить «аргумент не передан» от «явно передан null», если это разные команды?
Вопрос 14 из 20
Почему [] обычно безопасно как значение по умолчанию для массива в PHP?
Вопрос 15 из 20
Что вернёт вызов greet(name: "Ира")?
PHP
function greet(string $name='Гость', string $punctuation='!'): string {
    return $name . $punctuation;
}
echo greet(name: 'Ира');
Вопрос 16 из 20
Что произойдёт, если ветвь функции с типом int завершится без return?
Вопрос 17 из 20
Какой тип подходит функции поиска, возвращающей объект User или отсутствие результата?
Вопрос 18 из 20
Что означает возвращаемый тип never?
Вопрос 19 из 20
Какой тип имеет результат вызова функции-генератора до начала перебора?
PHP
function numbers(): iterable {
    yield 1;
    yield 2;
}
$result = numbers();
Вопрос 20 из 20
Функция объявлена : void. Что ей разрешено вернуть?

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу