Выбор ответа Junior Функции, замыкания, генераторы обновлено

Именованные аргументы

Вопрос

Что даёт вызов htmlspecialchars($s, double_encode: false) в PHP 8?

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

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Передаёт аргумент по имени, пропуская необязательные между ними. Именованные аргументы (PHP 8.0) позволяют указать параметр по имени и не перечислять значения по умолчанию для flags и encoding.

Варианты ответа

  1. Создаёт новую переменную $double_encode в области функции
  2. Ошибку синтаксиса: в PHP аргументы передаются только по позиции
  3. Передаёт ассоциативный массив опций ['double_encode' => false]
  4. Передаёт аргумент по имени, пропуская необязательные между нимиправильный ответ

Разбор

Именованные аргументы (PHP 8.0) позволяют указать параметр по имени и не перечислять значения по умолчанию для flags и encoding. Имена параметров становятся частью публичного API: переименование параметра в библиотеке ломает вызовы. Новых переменных и массивов опций не создаётся.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.