Функции, возвращающие значение
Большинство встроенных функций в РНР возвращают какое-либо значение в качестве результата. До сих пор все разработанные функции не возвращали никаких значений. Пришло время исправить этот недостаток.
Для возврата значения из функции используется оператор return, синтаксис которого представлен ниже:
return (value);
Скобки, которые делают оператор return похожим на функцию, являются необязательными. Ниже приведен пример функции square для вычисления квадрата заданного числа:
<?php function square($value) { return $value * $value; } ?>
После того, как данная функция описана, ее можно использовать так же, как и любую другую встроенную функцию РНР:
<?php function square($value) { return $value * $value; } echo "16 x 16 = ", square(16); ?>
В результате выполнения данного кода будет отображена следующая строка:
16 х 16 = 256
Функция может возвращать значения любого типа, например, логического. Ниже приведен пример функции, предназначенной для проверки комфортности температуры воздух2. Функция возвращает значение TRUE в случае хорошей погоды и FALSE в противоположном случае. Соответствующий фрагмент кода выглядит следующим образом:
<?php function check_temperature($temperature) { $return_value = FALSE; if ($temperature > 24 && $temperature < 26) { $return_value = TRUE; } return $return_value; } $degrees = 25; if (check_temperature($degrees)) { echo "Хорошая погода."; } else { echo "Плохая погода."; } ?>
Результатом запуска этого скрипта является отображение следующей строки:
Хорошая погода.
Функция может содержать более одного оператора return. При этом выполнение оператора приводит к немедленному завершению обработки функции и возврату соответствующего результата в ту точку, где она была вызвана. Предыдущий пример может быть переписан с использованием двух операторов return:
<?php function check_temperature($temperature) { if ($temperature > 24 && $temperature < 26) { return TRUE; } return FALSE; } $degrees = 25; if (check_temperature ($degrees)) { echo "Хорошая погода."; } else { echo "Плохая погода."; } ?>
При выполнении этого примера результат будет точно такой же, как и в предыдущем случае.
Автор: Стивен Хольцнер. Переводчик: С. Банников