我有以下的PHP數組;快速的方式來搜索這個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會更快嗎?還是他們的速度相同?
難道他們總是被編號的順序排列? – Mooseman 2014-10-04 11:43:14
@Mooseman:id是表中使用的主鍵。 – user781486 2014-10-04 11:44:35
如果這不一定非常複雜,只需遍歷每個「對象」(即使用鍵0,1,2,3)即可。但是如果真的有很多的對象,那麼你應該使用一個快速的算法。 – beeef 2014-10-04 11:48:03