Пользовательские функции PHP
В любом языке программирования существуют подпрограммы. В языке C они называются функциями, в ассемблере — подпрограммами, а в Pascal существуют даже два вида подпрограмм: процедуры и функции.
Подпрограмма — это специальным образом оформленный фрагмент программы, к которому можно обратиться из любого места внутри программы. Подпрограммы существенно упрощают жизнь программистам, улучшая читабельность исходного кода, а также сокращая его, поскольку отдельные фрагменты кода не нужно писать несколько раз.
Особенности пользовательских функций PHP
Перечислим особенности пользовательских функций в PHP:
- Доступны параметры по умолчанию. Есть возможность вызывать одну и ту же функцию с переменным числом параметров;
- Пользовательские функции могут возвращать любой тип;
- Область видимости переменных внутри функции является иерархической (древовидной);
- Есть возможность изменять переменные, переданные в качестве аргумента.
Файл: php/func_1.php
<?php
$a = 100;
function funct() {
$a = 70;
echo "<h4>$a</h4>";
}
funct();
echo "<h2>$a</h2>";
?>
Итог
70 100
Файл: php/func_2.php
<?php
//Функция под именем "welcome" принимает один параметр
//с именем пользователя
function welcome($userName){
//Данный код будет выполнен только при вызове функции
$result = 'Приветствую тебя '. $userName .'!';
echo $result;
}
welcome (Андрей);
?>
Итог
Приветствую, Андрей!
Файл: php/func_3.php
//Функция оплаты счета принимает два параметра: имя покупателя
//и логическое значение (платит наличными или картой)
function payment($buyer, $isMoney){
$result = $buyer. ', добрый день.';
//Строка результата формируется исходя из метода платежа
if($isMoney === true) {
$result .= ' Cпасибо за оплату наличными!';
} else {
$result .= ' C вашего счета сняты деньги!';
}
//Отправляем строку с конечным содержимым в браузер
echo $result .'<br>';
}
//Вызываем функцию, передав ей в значениях литералы
payment('Василий', true);
/*
* Результат:
* Василий, добрый день. Спасибо за оплату наличными!
*/
Файл: php/func_4.php
//Функция проверки логина и пароля администратора. Имеет два
//параметра, значения которых, заданы по умолчанию
function loginCheck($password = false, $login = false){
//Если логин или пароль не переданы, то выводим сообщение
//об ошибке
if($password === false || $login === false) {
echo 'Пожалуйста введите значения логина и пароля!<br>';
} else {
echo 'Осуществляем проверку. Подождите пожалуйста!<br>';
}
}
loginCheck();
/*
* Результат:
* Пожалуйста введите значения логина и пароля!
*/
//Передаем два строковых параметра функции
loginCheck('test', 'test');
/*
* Результат:
* Осуществляем проверку. Подождите пожалуйста!
*/