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

2023-12-01

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

$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; };

有关更多信息,请参阅手册页匿名函数.

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

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

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

return array_filter($arr, fn($val) => $val < $avg);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用外部计算的变量的回调函数 的相关文章

  • 使用 Laravel 4 验证多个文件上传

    如何在 Laravel 4 中验证上传文件的数组 我已将其设置为允许多个文件 并且已测试这些文件是否存在于 Input file files 数组中 但如何验证每个文件呢 这是我尝试过的 notesData array date gt In
  • 删除PHP字符串中所有不匹配的字符?

    我有一个文本 我想从中删除所有不属于以下字符的字符 所需字符 0123456789 abcdefghijklmnopqrstuvwxyz n 最后一个是我确实想保留的 n 换行符 要匹配除列出的字符之外的所有字符 请使用反转字符集 http
  • 优雅地处理没有数据的 amcharts

    我想知道我的 dataProvider 是否为空 amCharts绘制时默认为null 我怎样才能动态地处理它 var chart AmCharts makeChart chartdiv theme none type serial dat
  • 单词之间没有空格的语言(例如亚洲语言)中的断词?

    我想让 MySQL 全文搜索适用于日语和中文文本以及任何其他语言 问题在于这些语言以及可能其他语言通常在单词之间没有空格 当您必须键入与文本中相同的句子时 搜索没有用 我不能只在每个字符之间添加空格 因为英语也必须有效 我想用 PHP 或
  • 如何解压 PHP/Lumen/Laravel 的 gzip 请求?

    我收到来自第三方的 gzip 编码文本请求 1mb 所以这是有道理的 我的测试路线 router gt post testgzip function Illuminate Http Request request decompressed
  • Yii 使用 ajax 进行分页

    我需要使用ajax启用分页 我的代码 控制器 更新内容ajax function actionIndex dataProvider new CActiveDataProvider News array pagination gt array
  • FPDI/FPDF:水印和打印多页

    我修改了这个堆栈问题 当用户尝试下载文件时在 pdf 文件上应用水印 https stackoverflow com questions 3983432 applying watermarks on pdf files when users
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • 使用 preg_replace 仅替换第一个匹配项

    我有一个结构类似于以下的字符串 aba aaa cba sbd dga gad aaa cbz 该字符串每次都可能有点不同 因为它来自外部源 我只想替换第一次出现的 aaa 但其他人则不然 是否可以 可选的第四个参数预替换 http php
  • 交换关联数组中的两个项目

    Example arr array apple gt sweet grapefruit gt bitter pear gt tasty banana gt yellow 我想调换一下柚子和梨的位置 这样数组就变成了 arr array ap
  • PHP 在输入流中使用 fwrite 和 fread

    我正在寻找将 PHP 输入流的内容写入磁盘的最有效方法 而不使用授予 PHP 脚本的大量内存 例如 如果可以上传的最大文件大小为 1 GB 但 PHP 只有 32 MB 内存 define MAX FILE LEN 1073741824 1
  • 在 PHP 中撤销 Google 访问令牌

    正如标题所示 我想以编程方式撤销授予的访问令牌 即在 PHP 中 我发现这个他们的网站 https developers google com identity protocols OAuth2WebServer tokenrevoke 但
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • 随机组合 MySQL 数据库中的两个单词

    我有一个包含名词和形容词的数据库 例如 id type word 1 noun apple 2 noun ball 3 adj clammy 4 noun keyboard 5 adj bloody ect 我想创建一个查询 它将抓取 10
  • PHP preg_filter 返回意外的长值

    尝试在 Woocommerce 中删除标签并过滤值 但无法以正确的格式获取它 有东西有腥味 我正在使用WC gt cart gt get cart subtotal 来检索该值 在此示例中 我的值是 2 429kr 原始返回值是 span
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • 在 apache docker 容器中运行虚拟主机

    我在同一个 apache 容器中有两个 php 应用程序 我试图在端口上运行其中一个应用程序 因为它需要通过根域而不是子文件夹进行访问 我想在端口 8060 上运行应用程序 我尝试使用 apache 虚拟主机执行此操作 但它不会加载页面 h
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 一次播种多行 laravel 5

    我目前正在尝试为我的用户表播种 如果我像这样尝试 2 行 就会失败 如果我只使用单个数组而不是 users 数组内的 2 个数组来创建一些假数据 那么效果很好 我做错了什么 正确的方法是什么 class UserTableSeeder ex

随机推荐

  • 全局静态初始化线程

    我有一个用互斥体保护的集合 初始化后 它只能被读取 所以我在那里不需要互斥体 该集合在全局静态初始值设定项中进行初始化和填充 我知道全局静态初始化是在单个翻译单元内保证的 是否可以保证全局静态初始化是单线程的 我有一个受 Schwarz 计
  • 为什么它不转一圈?以及如何修复它?

    我不确定正在创建的形状的名称是什么 但我认为是圆形和方形的组合 或者可能类似于圆柱体 您可以运行代码来查看它会形成什么形状 您能否推荐一个我可以学习编写游戏代码 基本游戏背后的算法 的网站 我希望你明白我的意思 因为我英语不好 import
  • 当 PictureBox 处于“缩放”模式时裁剪图像的正确部分[重复]

    这个问题在这里已经有答案了 我有一个 PictureBox1 其尺寸模式设置为 拉伸 并且 PictureBox1 PictureBox1 包含一个图像 让我选择它的一部分 然后裁剪它并将裁剪的部分存储在 PictureBox2 中 效果很
  • python中浮点精度的定义是什么?

    我了解到 Erlang 中的 完全等于 运算符 它不仅比较值 还有数字的数据类型 我很好奇 Python 中的工作原理及其唯一的 等于 运算符 所以在确定之后 gt gt gt 1 1 0 True 我想知道浮点精度 然后得到了这个 gt
  • 在 PHP 中从空值创建默认对象?

    仅在将 PHP 环境升级到 PHP 5 4 及更高版本后 我才会看到此错误 错误指向这行代码 Error 从空值创建默认对象 Code res gt success false 我是否需要首先声明我的 res object 你的新环境可能有
  • div 中的居中文本

    div div class left div align center class node div class nodeText h2 test h2 div div class node h2 test h2 div div class
  • mod_rewrite后获取变量

    我有一组遵循以下 htaccess 规则的产品页面 RewriteCond REQUEST FILENAME s RewriteCond REQUEST URI 0 9 html RewriteRule product index php
  • Opencv 和 python 用于自动裁剪

    我想自动裁剪图像 我正在为此使用 ImageMagick 我正在使用的命令 convert 3 jpg fuzz 10 trim trim jpg 我该如何解决 我认为正在设置的模糊因子存在问题 If you want to do this
  • 在sp_executesql中使用@ParmDefinition有什么好处

    DECLARE id int DECLARE name nvarchar 20 SET id 5 SET name Paul 这两个选项有什么区别 Set SQLQueryInnen SELECT FROM someTable WHERE
  • 对多个工作簿和多个工作表中的单元格值求和 - 宏

    我有 50 本练习册 每个有 3 个工作表 我在单元格 A1 到 N1 的每个工作表中都有一个值 我想总结一个工作簿中的所有值 分别在 3 个工作表中 即sheet1工作簿1的A1 sheet1工作簿2的A1 sheet1工作簿50的A1
  • 如何禁用列表的第一项可排序并删除目标

    我有一个项目列表 我想让列表中的第一个项目不可排序且不可移动 列表中的第一项应始终保留为列表中的第一项 但是 我似乎无法让它工作 这是我的排序代码 jQuery gt lineup sortable axis y items ui stat
  • 如何让 MySQL 使用 INDEX 进行视图查询?

    我正在开发一个使用 Java EE 上的 MySql 数据库的 Web 项目 我们需要一个视图来汇总 3 个总共超过 300 万行的表中的数据 每个表都是用索引创建的 但我还没有找到一种方法来利用我们使用 group by 创建的视图中的条
  • .Net 3.5 SP1 的离线安装程序无法正常工作

    我下载了一个 Net 3 5 SP1的大文件 现在 当我尝试在 Windows Server 2012 上安装它时 我得到以下屏幕截图 现在这是一个循环 当我尝试从服务器管理器安装时 我发现安装无法完成 它需要安装盘 这是否意味着如果没有安
  • 静态变量是否可以继承

    我已经在 1000 个位置读到静态变量不能被继承 但是这段代码如何正常工作呢 父类 java public class Parent static String str Parent 孩子 java public class Child e
  • Swift 可编码多种类型

    我尝试解析返回 json 对象的 api 我的问题是 某些键有时是字符串 有时是对象 如以下示例中的键 Value Description null Group Beskrivning av enheten GroupDescription
  • 使用纵横比时 CSS 会忽略子元素的宽度

    我遇到了有关 CSS 的问题aspect ratio在子元素上 我一直在尝试将元素的宽度和高度 两者相同 设置为等于父容器的高度 使用height 100 and aspect ratio 1 然而 这可以实现 使用时父容器似乎忽略了子容器
  • 有没有办法从 SQL 中的日期中减去天数?

    我知道 DATEDIFF d date1 date2 但我不想减去两个日期 而是减去一个日期的天数 例如 2010 04 13 4 2010 04 09 mySQL 可以吗 date sub date interval 4 day
  • 生成具有预定义模数和指数的公钥

    n rKZ 1zdz CoLekSynOtyWv6cPSSkV28Kb9kZZHyYL yhkKnH bHl8OpWiGxQiKP0ulLRIaq1IhSMetkZ8FfXH iptIDu4lPb8gt0HQYkjcy3HoaKRXBw2F
  • 使用 vstack 的全屏背景图像

    我想要一个带有导航视图的全屏背景图像 必须位于顶部 因为它来自基础视图 而不是通常位于 此 视图中 在此视图中 我想要一个位于安全区域内的 VStack 位于导航栏和底部布局之间 不幸的是我得到了 见图 I expected the tex
  • 使用外部计算的变量的回调函数

    基本上我想做这样的事情 arr 1 2 3 4 5 6 7 8 9 10 avg array sum arr count arr callback function val return val lt avg return array fi