В любом языке программирования существуют подпрограммы. В языке 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'); /* * Результат: * Осуществляем проверку. Подождите пожалуйста! */