PHP: Передача нескольких аргументов
Аргументов может быть несколько. В таком случае в определении функции мы делаем то же самое, что в вызове: просто указываем аргументы через запятую.
Полный пример определения функции с несколькими аргументами и её вызова:
<?php
function showCurrentDay($month, $day)
{
print_r("Today is: {$month} {$day}");
}
showCurrentDay('January', '29');
Today is: January 29
Главное — помнить про порядок: в каком порядке аргументы стоят при определении функции, в таком же порядке они должны передаваться при вызове.
В PHP, как и в большинистве языков, при вызове функции нужно обязательно передать столько же аргументов, сколько было указано при её определении. Иначе программа выдаст ошибку Uncaught ArgumentCountError
.
Обратите внимание: после определения функции (после закрывающей фигурной скобки) мы не ставим ;
.
Символ ;
ставится в конце выражений. Определение функции — не выражение, а инструкция (указание интерпретатору). Соответственно, мы не можем его использовать в составе других выражений, и ему не нужна ;
в конце.
Задание
Сэм составляет множество карт, и ему часто нужно выводить на экран повторяющиеся символы для визуализации маршрутов. Например, так Сэм иллюстрирует узкие дороги между городами:
Meereen =-=-=-=- Myr
А так иллюстрирует широкие трассы:
Vaes Dothrak ======== Vahar
В документации PHP он нашёл функцию str_repeat()
. Она принимает два аргумента: строку и число, и возвращает повторяющуюся строку. Вот как он использует её:
<?php
print_r(str_repeat("=-", 4));
=-=-=-=-
Сэм не очень доволен. Неудобно вызывать сотни раз str_repeat()
внутри вызова print_r()
.
Напишите для Сэма функцию printSeq()
, которая сама выводит на экран получившиеся повторения. Она принимает два аргумента — строку и число, и выводит повторяющуюся строку на экран. Для генерации строки используйте str_repeat()
.
Вот пример того, как Сэм будет использовать написанную вами printSeq()
:
<?php
printSeq("=-", 4);
=-=-=-=-