gpt4 book ai didi

php - 搜索关联数组的这个 php 数组的快速方法

转载 作者:行者123 更新时间:2023-12-04 05:50:10 26 4
gpt4 key购买 nike

我有以下 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' , 什么是快速搜索此数组并返回正确 key 的方法?在这种情况下,正确答案是 3。

编辑:有人会建议使用 foreach 循环遍历数组还是使用 array_search 会更快?还是他们的速度差不多?

最佳答案

如果您将进行许多此类搜索,最好创建一个反向查找数组。

也就是说,你做一次缓慢的线性工作,之后,它是一个快速的散列(关联数组)查找。

一度:

$id2index = array();
foreach ($data as $index => $value) {
$id2index[$value->id] = $index;
}

多次使用 - 查找给定 id 的索引:
$index = $id2index[$id];

关于php - 搜索关联数组的这个 php 数组的快速方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26192439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com