PHP: Передача одного аргумента
Функции без аргументов встречаются редко. Чаще функции принимают на вход данные, как-то их используют и выдают результат обратно. В этом уроке мы познакомимся с определением функций, принимающих на вход один аргумент. Посмотрите на определение ниже:
<?php
function showCurrentDay($text)
{
print_r("Today is: {$text}");
}
showCurrentDay('January 29');
Today is: January 29
Теперь понятно, зачем нужны были круглые скобки после имени функции: в них можно указать аргументы (или, что тоже самое, параметры). Технически, параметры функции всегда являются переменными, а не константами. Но лучше относиться к ним как к константам.
Заметьте: мы не определяем переменную $text
, но используем её в теле функции. PHP работает так: переменная сама создаётся при вызове, и указанное значение (в нашем примере — 'January 29'
) записывается в эту переменную.
Аргументы можно называть как угодно, их имена имеют смысл исключительно в теле функции. Например, если изменить имя аргумента так:
<?php
function showCurrentDate($lala)
{
print_r("Today is: {$lala}");
}
$date = 'January 29';
showCurrentDate($date);
то поведение функции не изменится. Это касается как имен внутри функции ($lala
), так и снаружи ($date
).
Новички иногда пытаются сделать примерно такое определение функции:
<?php
function showCurrentDate('Today is: December 5')
{
// какой-нибудь код
}
Запустить такой код не получится — он содержит синтаксическую ошибку. Вместо переменной в аргументе написана строка, то есть значение.
Аргумент должен быть переменной, иначе он не сможет быть аргументом, то есть чем-то, что принимает значение при вызове.
Если же вам нужна какая-то информация в функции, и вы заранее знаете, какая именно, то аргумент для этого не нужен: ведь мы уже умеем сохранять значения для последующего использования — достаточно создать константу в самом теле:
<?php
function showCurrentDate()
{
$text = 'Today is: December 5';
// какой-нибудь код
}
Задание
Реализуйте функцию printJaimesLine()
, которая принимает один аргумент — строку, и выводит реплику на экран в формате JAIME: переданная_строка
.
Как назвать переменную, которая будет аргументом — решайте сами.
Наша система содержит код, скрытый от вас. В этом упражнении скрыт вызов функции printJaimesLine()
. Так мы проверяем ваше решение.
Вам не нужно самостоятельно вызывать функцию, только определить её. Но для наглядности — вот как наша система вызывает её:
<?php
printJaimesLine('Farewell, my friend...');
JAIME: Farewell, my friend...