В этом руководстве вы узнаете о функциях PHP и о том, как определять пользовательские функции.
Функция - это именованный блок кода, который выполняет определенную задачу.
В предыдущих занятиях вы познакомились, как использовать встроенные функции в PHP, такие как var_dump(), которые выгружают информацию о переменной.
В этом руководстве вы узнаете, как определять свои собственные функции. Эти функции называются пользовательскими функциями.
Иногда вам нужно выполнить одну и ту же задачу в сценарии несколько раз. Например, предположим, что вы хотите показывать сообщение, приветствующее пользователя :
<?php
echo 'Welcome!';
Если вы хотите показать то же сообщение в других местах, вам нужно скопировать приведенный выше оператор и вставить его во многих местах.
Но если вы хотите изменить сообщение с Welcome!
на Welcome Back
вам нужно менять его в разных местах. Это затруднит сопровождение кода.
Здесь в игру вступают функции. Функция позволяет назначить имя блоку кода и повторно использовать этот блок кода в нескольких местах без дублирования кода.
Чтобы определить и вызвать пользовательскую функцию, вы выполните следующие шаги:
Сначала определите функцию с именем welcome() следующим образом:
<?php
function welcome(){
echo 'Welcome!';
}
Затем вызовите функцию welcome() в любом месте, где вы хотите показать приветственное сообщение:
<?php
welcome();
Позже, если вы захотите вывести другое сообщение, вы можете изменить его централизованно в функции welcome(), а не искать это сообщение в нескольких местах.
Используя функцию, вы можете повторно использовать блок кода и упростить сопровождение сценария.
Чтобы определить функцию, используется следующий синтаксис:
<?php
function function_name() {
statement;
}
В этом синтаксисе:
В примере ниже показано как определить функцию welcome:
<?php
function welcome()
{
echo 'Welcome';
}
В этом примере имя функции - welcome. Функция welcome() отображает приветственное сообщение.
На практике функции часто принимают входные данные. Это позволяет создавать функции более гибкими и позволяет функции использовать повторно. Данные которые передаются на вход функции называют параметрами.
Функция может иметь ноль или более параметров. Чтобы добавить один или несколько параметров к функции, вы можете использовать следующий синтаксис:
<?php
function function_name(parameter1, parameter2, ...) {
}
Внутри тела функции вы можете использовать параметры как переменные. Фактически параметры - это локальные переменные, которые доступны только ВНУТРИ функции.
Например, если вы хотите приветствовать пользователей по их именам, вы можете добавить параметр $username в функцию welcome_user следующим образом:
<?php
function welcome_user($username)
{
echo 'Welcome ' . $username;
}
Функция welcome_user() имеет параметр $username. Он отображает приветственное сообщение для пользователя, объединяя текст "Welcome " и параметр $username.
Если функция не имеет параметров, вы можете вызвать функцию, используя ее имя, за которым следует круглые скобки, например:
<?php
// это определение функции welcome
function welcome()
{
echo 'Welcome!';
}
// Ниже вызывается функция welcome
welcome();
Вывод:
Welcome!
И когда вы вызываете функцию с параметрами, вам нужно передать ей аргументы: В следующем примере вызывается функция welcome_user():
<?php
function welcome_user($username)
{
echo 'Welcome ' . $username;
}
welcome('Admin');
В этом примере мы передали строку "Admin" в качестве аргумента для функции welcome_user(). Функция отобразит следующее сообщение:
Welcome Admin!
Внутри функции welcome_user() значение переменной $username будет «Admin».
Если вы передадите в функцию другой аргумент, сообщение изменится. Например:
<?php
welcome_user('Guest');
Вывод:
Welcome Guest!
Термины параметры и аргументы часто используются как синонимы. Однако они немного разные.
Когда вы определяете функцию, которая принимает входные данные, вы указываете параметры. В этом примере $username является параметром функции:
<?php
function welcome_user($username)
{
echo 'Welcome ' . $username . '!';
}
Аргумент - это фрагмент данных, который вы передаете функции при ее вызове. В следующем вызове функции строка Admin является аргументом:
<?php
welcome_user('Admin');
Функция может возвращать значение. Чтобы вернуть значение из функции, используется оператор return
return value;
Оператор return немедленно завершает выполнение текущей функции и возвращает значение.
Значение может быть буквальным значением, например числом или строкой. Также это может быть переменная или выражение.
Следующая функция возвращает приветственное сообщение вместо его отображения:
<?php
function welcome_user($username)
{
return 'Welcome '. $username . '!';
}
Поскольку функция welcome_user() возвращает строку, вы можете присвоить ее возвращаемое значение какой-то переменной:
<?php
$welcome_message = welcome_user('Admin');
Либо можно просто вывести результат работы функции на экран:
<?php echo welcome_user('Guest'); ?>