【发布时间】:2014-11-29 07:24:07
【问题描述】:
我有以下php数组;
array(
(int) 0 => array(
'records' => array(
'id' => '25',
'parent_id' => '1',
'address' => '896167',
)
),
(int) 1 => array(
'records' => array(
'id' => '26',
'parent_id' => '2',
'address' => '890812',
)
),
(int) 2 => array(
'records' => array(
'id' => '28',
'parent_id' => '16',
'address' => '8A3813',
)
),
(int) 3 => array(
'records' => array(
'id' => '29',
'parent_id' => '17',
'address' => '8A3914',
)
)
)
假设我想找到哪个键有'id' => '29',那么在这个数组中搜索并返回正确键的快速方法是什么?在这种情况下,正确答案是 3。
编辑:有人会建议使用 foreach 循环数组还是使用 array_search 会更快?还是它们的速度差不多?
【问题讨论】:
-
他们总是按id排序吗?
-
@Mooseman: id 是表中使用的主键。
-
如果这不必非常复杂,只需遍历每个“对象”(带有键 0、1、2、3 的对象)。但是如果真的有很多对象,那么你应该使用快速算法。
-
哇 关键字最快,你的尝试在哪里?你为什么最快?
-
@Ghost:我正在尝试使用 foreach 循环。现在正在努力。实际上,很难确定一种方法是否是最快的。我有一个非常慢的查询问题。试图加快速度。
标签: php arrays search associative-array