php - 如何使用对象方法(使用 $this)作为 array_filter 中的回调?
问题描述
我为类定义了一个公共方法A
:
class A{
public function isValid()
{
return $this->getValue==1;
}
}
我想A
使用类中定义的方法过滤一个对象数组A
:
class B{
//$input is an array of A objects
public static function getArray($input)
{
return array_filter($input, array($this, “isValid”))
}
}
但是,实际上$this
在 class 中是无效的B
。我应该如何在中输入回调函数array_filter
以使其工作?
解决方案
使用匿名函数调用isValid()
return array_filter($input, function($x) { return $x->isValid(); });
推荐阅读
- python - 如何使用 python shift 函数通过使用该特定列的前一行值来增加单元格的值?
- css - 视频未在轮播中播放
- android - --target native-lib 不是目录
- node.js - expect(spiedMethod).not.toBeCalled() 失败,因为它正在被另一个测试调用
- .net-core - .NET Core 的类似 AxoCover 的体验
- javascript - 只读单选按钮,直到表单完全加载
- java - 计算两条线之间的角度
- graph - 性能 SQL Server 2017 图表与 Neo4j
- javascript - 输入类型=“数字”不适用于货币管道
- sql - 从日期间隔获取总等待时间和行数