Достаточно частый вопрос, который вызывает некоторое непонимание и путаницу, особенно у новичков, при оперировании этими терминами. Так когда же уместно употреблять сочетания: параметр функции, аргумент функции?
На самом деле ответ очень простой — при создании функции мы задаем ей параметры, которые она ожидает принимать, а уже при вызове мы уже передаем ей какие то значения, которые уже величаем — аргументы, которые соответствуют очередности параметров и которые наша функция будет обрабатывать. Вот и все 🙂
Теперь немного теории и примеров …
Вообще функция служит для выполнение каких то повторяющихся действий. Предположим мы пишем некую программу, в которой постоянно вычисляем количество часов до конца рабочего дня. Очевидно, что здесь у нас будет первое значение — это текущая дата и время, а второе значение — вечер пятницы, предположим 18 часов вечера. Но у нас есть другой офис, а то и два, где люди работают до 19 и до 21-го часа, следовательно писать три раза с разными значениями код уже не целесообразно и следуя принципам DRY (Don’t repeat yourself, (не повторяйся) ) мы не будет использовать код три раза, а оформим его в виде функции, которая будет ожидать один параметр — это конец рабочего дня того или иного офиса. Следовательно при объявлении функции, данные которые она ожидает получить для обработки называются параметрами:
function final_day ($параметр) {
// код, который необходимо выполнить
}
А вот когда мы будем вызывать нашу функцию, то отправка в нее данных называется передачей аргументов
final_day (аргумент);
Вот и все.
Функция нас не ограничивает одним параметром. Мы можете присвоить ей любое количество параметров и передавать затем при вызове соответствующее число аргументов.
function имя_функции (п а р а м е т р 1 , п а р а м е т р 2 , п а р а м е т р З ) {
}
При вызове функции передаем то же количество аргументов, в том же порядке:
имя_функции(аргумент1, аргумент2, аргумент3);