Аргументы, переменные и инструкции

Новички иногда пытаются сделать примерно такое определение функции:

function showDate("Today is: December 5")
{
    // какой-нибудь код
}

Запустить код не получится — он содержит синтаксическую ошибку. Вместо переменной в аргументе написана строка, то есть значение.

Аргумент должен быть переменной, иначе он не сможет быть аргументом, то есть чем-то, что принимает значение при вызове.

Если же вам нужна какая-то информация в функции, и вы заранее знаете какая именно, то аргумент для этого не нужен, ведь мы уже умеем сохранять значения для последующего использования — достаточно создать переменную в самом теле:

function showDate()
{
    $text = 'Today is: December 5';
    // какой-нибудь код
}

Обратите внимание: после определения функции (после закрывающей фигурной скобки) мы не ставим ;.

Символ ; ставится в конце выражений. Определение функции — не выражение, а инструкция (указание интерпретатору). Соответственно, мы не можем его использовать в составе других выражений и ему не нужна ; в конце.

Понятие «создать функцию» имеет много синонимов: «реализовать», «определить» и даже «заимплементить» (от слова implement). Все они встречаются в повседневной практике на работе.

Задание

Сэму для отрисовки карт понадобилась функция, которая выводит на экран подряд несколько наборов символов.

Реализуйте функцию printSeq для Сэма. Первым аргументом она должна принимать строку с символами, а вторым аргументом — количество повторений. Функция должна выводить на экран итоговую последовательность. Например +++++, __)__)__) или [x][x][x][x].

Для генерации повторений используйте уже существующую функцию str_repeat. Она принимает первым аргументом строку, а вторым — количество повторений, и возвращает строку.

Вам не нужно вызывать свою функцию, только определить её.

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