gpt4 book ai didi

php - 使用在其外部计算的变量的回调函数

转载 作者:IT王子 更新时间:2023-10-29 00:01:22 25 4
gpt4 key购买 nike

基本上我想做这样的事情:

$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$avg = array_sum($arr) / count($arr);
$callback = function($val){ return $val < $avg };

return array_filter($arr, $callback);

这真的可能吗?在匿名函数外部计算一个变量并在内部使用它?

最佳答案

您可以使用use 关键字从父作用域继承变量。在您的示例中,您可以执行以下操作:

$callback = function($val) use ($avg) { return $val < $avg; };

有关更多信息,请参阅 anonymous functions 上的手册页.

如果您运行的是 PHP 7.4 或更高版本,arrow functions可以使用。箭头函数是另一种更简洁的定义匿名函数的方法,它会自动捕获外部变量,无需use:

$callback = fn($val) => $val < $avg;

考虑到箭头函数的简洁性,您可以合理地将它们直接写在 array_filter 调用中:

return array_filter($arr, fn($val) => $val < $avg);

关于php - 使用在其外部计算的变量的回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4588714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com