繁体   English   中英

对象数组上的 array_filter

[英]array_filter on object arrays

我有一个对象数组。 这些对象有一个is_valid方法,该方法具有一些内部逻辑并返回一个布尔值。

现在我想获取数组中所有返回 true 到is_valid 我可以使用foreach循环来做到这一点。

但是有没有办法在 PHP 中使用array_filter来做到这array_filter ,而无需创建新的匿名或回调函数?

正如世界上的bestprogrammerthein所说,如果没有匿名回调函数,您将无法实现这一目标

因此,如果您仍想使用array_filter ,则可能是您的答案:

array_filter($array, function($entry) { return $entry->is_valid(); } );

您可以使用这种衬板:

 Arr::filterObjects($array, 'is_valid')

来自这个图书馆

答案是不? http://php.net/manual/zh/function.array-filter.php

array_filter

(PHP 4> = 4.0.6,PHP 5,PHP 7)array_filter — 使用回调函数过滤数组的元素

我的代码示例

$Filtered = array_filter($table, function ($item) {
return strpos($item->ItemCode,'PPC'); });

这将返回具有 ItemCode 的对象数组,如 PPC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM