«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > В PHP, как использовать извне рассчитанные переменные в функции обратного вызова?

В PHP, как использовать извне рассчитанные переменные в функции обратного вызова?

Опубликовано в 2025-04-16
Просматривать:477

How Can I Use Variables Calculated Outside Callback Functions in PHP?

Использование переменных, рассчитанных внешних функций обратного вызова

В PHP можно вычислить переменные вне функций обратной связи и использовать их в этих функциях. Давайте рассмотрим следующий сценарий:

у вас есть массив $ arr и вы хотите использовать Array_filter для создания нового массива, содержащего только значения, меньше, чем среднее значение элементов в $ arr. Тем не менее, ключевое слово использует решение. В этом случае вы можете определить функцию обратного вызова следующим образом:

$ avg = array_sum ($ arr) / count ($ arr); $ callback = function ($ val) использовать ($ avg) {return $ val

здесь, $ avg унаследована от родительской области с использованием ключевого слова использования. Функция обратного вызова теперь может использовать $ avg для фильтрации элементов. return array_filter ($ arr, $ callback);

с использованием функций со стрелками (PHP 7.4 или более поздней)
$avg = array_sum($arr) / count($arr);
$callback = function($val) use ($avg) { return $val  

php 7.4 вводит функции Arrow, которые являются более подробными альтернативными функциями. Функции со стрелками автоматически захватывают внешние переменные, устраняя необходимость использования.

return array_filter($arr, $callback);

$ callback = fn ($ val) => $ val

a val -функция Arrow Functions

return array_filter ($ arr, fn ($ val) => $ val . Операции.
]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3