- Теория
- Теория
Функция возвращает значение
Мы научились передавать функции аргументы, считать итоговую цену товара и выводить её в консоль. Но что будет, если вызвать функцию get_final_price
в шаблоне?
<td><?= get_final_price(1000, 200) ?></td>
В консоли появятся новые сообщения, но в мини-браузере итоговая цена не отобразится, потому что команда keks_log
выводит сообщение в консоль, но не на страницу. Чтобы итоговая цена появилась на странице, функция get_final_price
должна её вернуть.
Функции могут не только принимать данные, но и возвращать их. Представьте, что мы задаём функции вопрос, а она на него отвечает. Чтобы указать, что именно функция должна ответить, или какое значение вернуть, используют ключевое слово return
:
function my_func($number_1, $number_2) {
return $number_1 - $number_2;
}
Когда функцию вызовут, на её место в коде подставится то значение, которое она вернёт:
<!-- Вызываем функцию в шаблоне -->
<p><?= my_func(3, 1) ?></p>
<!-- Результат -->
<p>2</p>
Вернув значение, функция прекратит работу. Последующий код в теле функции PHP проигнорирует.
function my_func($number_1, $number_2) {
return $number_1 - $number_2;
// Код на следующей строке никогда не будет исполнен
keks_log('Есть ли жизнь после return?');
}
Функция может ничего не возвращать или вернуть одно любое значение: число, строку, массив и так далее.
Итак, нам нужно вывести на страницу итоговую цену товара. Укажем, что функция get_final_price
возвращает разницу между полной ценой и скидкой на товар. После этого вызовем функцию в шаблоне components/delivery_info.php
. Используем для вставки PHP-кода краткую запись:
<?= my_func(3, 1) ?>
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.