Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在多维数组中搜索值_Php_Arrays_Loops - Fatal编程技术网

Php 在多维数组中搜索值

Php 在多维数组中搜索值,php,arrays,loops,Php,Arrays,Loops,我想知道在多维数组中搜索值是否有比遍历每个项目更好(更快)的方法 假设我有 $id_to_search = '16819976033'; 还有一个相当大的数组 Array ( [0] => Array ( [id] => Array ( [0] => 16771055710 [1] => 16776555710 [2] =&g

我想知道在多维数组中搜索值是否有比遍历每个项目更好(更快)的方法

假设我有

$id_to_search = '16819976033';
还有一个相当大的数组

Array
(
 [0] => Array
    (
        [id] => Array
            (
                [0] => 16771055710
                [1] => 16776555710
                [2] => 16819976033
            )

        [o] => 21566
        [p] => 12597.66
    )

[1] => Array
    (
        [id] => Array
            (
                [0] => 14089762
            )

        [o] => 12606
        [p] => 1747.49
    )
etc ...
)

我可以找到它,如果我循环通过每个项目,然后比较它们,但它非常慢,因为数组很大

您可以在PHP中使用byarray\u search函数:

$key = array_search($id_to_search, array_column($YourArray, 'id'));

可能与您需要查找的内容重复,只是项目存在,或者它属于哪个元素?@NigelRen两者都有。