Параметры по умолчанию

Напомним, что аргумент может быть необязательным. У такого аргумента есть значение по умолчанию.

Например, функция parentFor, которую вы использовали в некоторых упражнениях, принимает имя ребёнка первым аргументом, а вторым — строку mother или father. Второй аргумент — необязательный, и если не указывать его, то автоматически по умолчанию будет использоваться mother.

Эти два вызова равнозначны:

parentFor('Jon Snow');
parentFor('Jon Snow', 'mother');

Каким образом там сделаны аргументы по умолчанию? Давайте заглянем в определение этой функции:

function parentFor($child, $parent = 'mother')
{
  // какой-то код
}

Первый аргумент указан привычно — просто название переменной. Это делает аргумент обязательным.

Второй аргумент указан со значением в формате $аргумент = какое_то_значение. Точно так же, как при создании переменной. Этот фрагмент = какое_то_значение делает аргумент необязательным, и задаёт ему значение по умолчанию.

Аргументов по умолчанию может быть любое количество, но все они должны быть в конце списка аргументов. То есть такие строчки кода синтаксически некорректны:

  • function parentFor($childName = 'Jon', $who)
  • function calculate($a, $b = 90, $c)
  • function getPrices($code = 4161, $quantity, $place)

Задание

Реализуйте функцию customParentFor, которая принимает два аргумента:

  1. Строку — имя ребёнка.
  2. Строку с указанием родителя. Этот аргумент должен по умолчанию быть 'father'.

Функция должна возвращать имя соответствующего родителя.

Пример вызова:

<?php

customParentFor('Cersei Lannister');

Такой вызов вернёт имя отца.

  • Используйте готовую функцию parentFor внутри своей функции.
  • Не нужно вызывать свою функцию customParentFor, только определить её.

Упражнение доступно только авторизованным пользователям.

Пожалуйста, авторизуйтесь с помощью учётной записи GitHub, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт на GitHub.