繁体   English   中英

PHP通过键过滤大数组的方法?

[英]PHP way to filter a big array by key?

我从API获得了一个大数据集合,我得到的数组有更多的对象,其中包含:id,名称,位置,邮政编码。

现在,我需要为此数组创建过滤器,代码为:

$all_objects = $api_result->body->objects;

当然,我可以使用foreach()来做到这一点,但是性能也最好通过id 973来像获取对象一样对其进行过滤?

您可以使用array_filter

假设$all_objects是具有idname等公共属性的对象数组。

示例代码:

$lookup = 973
$filtered = array_filter($all_objects, function($object) use($lookup) {
  return ($object->id === $lookup);
});

现在$filtered只有一个(大概)对象的公共属性“ id”为973

注意:正如@timurib和@federkun所指出的那样,这不是筛选数组的最快方法。 在所有其他条件相同的情况下,简单地进行学习会更快 但是您将array_*毫秒,并且可能会争辩说使用array_*函数可以使代码更清晰。

暂无
暂无

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

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