PHP 4 на практике


азалептин купить

Возврат значений из функции


По завершении работы функции часто бывает полезно вернуть некоторое значение, для чего результат вызова функции обычно присваивается некоторой переменной. Функции могут возвращать значения любых типов, в том числе массивы и списки. Пример приведен в листинге 4.2, где функция calculate_cost( ) вычисляет налог с заданной суммы и возвращает общую сумму вместе с налогом. Прежде чем переходить к рассмотрению листинга, просмотрите краткое описание алгоритма на псевдокоде:

  • Перед вызовом функции задать значения переменных: $price (цена товара) и $tax (налоговая ставка).

  • Объявить функцию calculate_cost( ). При вызове функция получает два параметра: налоговую ставку и цену товара.

  • Вычислить цену с учетом налога и вернуть ее командой return.

  • Вызвать calculate_cost() и присвоить значение, возвращенное функцией, переменной $total_cost.

  • Вывести соответствующее сообщение.

    Листинг 4.2.

    Создание функции для вычисления налога

    $price = 24.99; $tax = .06;

    function calculate_cost($tax, $price) {

    $sales_tax = $tax;

    return $price + ($price * $sales_tax);

    }

    // Обратите внимание на возврат значения функцией calculate_cost(). $total_cost = calculate_cost ($tax. $price);

    // Округлить цену до двух десятичных цифр.

    $total_cost = round($total_cost. 2);

    print "Total cost: $".$total_cost;

    // $total cost = 26.49

    Функции, не возвращающие значений, также называются процедурами.

    Существует и другой способ использования возвращаемых значений, при котором вызов функции включается прямо в условную/циклическую команду. В следующей программе (листинг 4.3) сумма счета пользователя сравнивается с предельным размером кредита. Алгоритм на псевдокоде выглядит так:

    • Объявить функцию check_limit( ), которая при вызове получает два параметра. Первый параметр, $total_cost, определяет общую сумму счета, накопленную пользователем до настоящего момента. Второй параметр, $credit_limit, определяет максимальную сумму, которую может потратить пользователь.

    • Если накопленная сумма счета превышает предельный размер кредита, функция возвращает ложное значение (0).




      Содержание  Назад  Вперед