首页 > 后端开发 > php教程 > 如何在 PHP 中使用回调函数外部计算的变量?

如何在 PHP 中使用回调函数外部计算的变量?

Barbara Streisand
发布: 2024-12-27 14:12:10
原创
982 人浏览过

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

使用回调函数外部计算的变量

在 PHP 中,可以在回调函数外部计算变量并在这些函数中使用它们。让我们考虑以下场景:

你有一个数组 $arr 并希望使用 array_filter 创建一个仅包含小于 $arr 中元素平均值的值的新数组。

来实现如果使用回调函数,您可能会遇到在函数外部计算平均值并在函数内部使用它的挑战。不过,use 关键字提供了一个解决方案。

使用 use 关键字

use 关键字允许匿名函数从父作用域继承变量。在这种情况下,您可以如下定义回调函数:

$avg = array_sum($arr) / count($arr);
$callback = function($val) use ($avg) { return $val < $avg; };
登录后复制

这里,$avg是使用use关键字从父作用域继承的。回调函数现在可以使用 $avg 来过滤元素。

return array_filter($arr, $callback);
登录后复制

使用箭头函数(PHP 7.4 或更高版本)

PHP 7.4 引入了箭头函数,它们是匿名函数的更简洁的替代方案。箭头函数自动捕获外部变量,无需使用。

您可以按如下方式定义回调函数:

$callback = fn($val) => $val < $avg;
登录后复制

使用箭头函数简化数组过滤

由于箭头函数非常简洁,您可以将它们直接嵌入到 array_filter 中call:

return array_filter($arr, fn($val) => $val < $avg);
登录后复制

综上所述,use关键字或箭头函数可以让你在回调函数之外计算变量并在回调函数内使用它们,从而实现更灵活、方便的过滤操作。

以上是如何在 PHP 中使用回调函数外部计算的变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板