我的数据在ArrayObject,中只表示一个数组。我需要过滤的数据,函数会工作的很好。然而,它的不工作与ArrayObject作为参数。处理这个最好的方法是什么?有没有为我处理过滤的标准函数?
示例:
$my_data = ArrayObject(array(1,2,3));
$result = array_object_filter($my_data, function($item) { return $item !== 2; });有array_object_filter函数吗?
发布于 2012-06-30 14:36:46
如何将其导出到实际数组中,然后创建一个新的array对象?
$my_data = new ArrayObject(array(1,2,3));
$result = new ArrayObject(
array_filter( (array) $my_data, function($item) {
return $item !== 2;
})
);发布于 2017-03-29 07:42:22
子类ArrayObject并向其添加一个新方法如何:
/**
* Filters elements using a callback function.
*
* @param callable $callback The callback function to use
*
* @return self
*/
public function filter(/* callable */ $callback = null)
{
$this->exchangeArray(array_filter($this->getArrayCopy(), $callback));
return $this;
}https://stackoverflow.com/questions/11274846
复制相似问题