#4. 7 php Функции, возвращающие значение

Большинство встроенных функций в РНР возвращают какое-либо значение в качестве результата. Несмотря на то, что это свойство широко использовалось в предыдущих главах, до сих пор все разработанные функции не возвращали никаких значений. Пришло время исправить этот недостаток. Для возврата значения из функции используется оператор 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$.

Функция может возвращать значения любого типа, например, логического. Ниже приведен пример функции, предназначенной для проверки комфортности температуры воздуха. Функция возвращает значение 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 "Плохая погода.";
}

При выполнении этого примера результат будет точно такой же, как и в предыдущем случае.

Key Words for FKN + antitotal forum (CS VSU):