搜索php数组

搜索php数组,php,arrays,loops,Php,Arrays,Loops,我有一个关于搜索的PHP数组问题,希望有人能帮助我 下面显示的数组是数组的集合,例如订单项。当我循环一个单独的OrderID数组时,我想返回相应的产品数组 例如,如果我请求orderId为98305,它将返回索引为2和3的数组 有什么PHP函数可以做到这一点吗?我可以循环每个数组,检查值,并在匹配时中断,但我觉得这会为每个orderId查找执行多个循环带来相当大的开销 Array ( [0] => Array ( [orderId] => 98

我有一个关于搜索的PHP数组问题,希望有人能帮助我

下面显示的数组是数组的集合,例如订单项。当我循环一个单独的OrderID数组时,我想返回相应的产品数组

例如,如果我请求orderId为98305,它将返回索引为2和3的数组

有什么PHP函数可以做到这一点吗?我可以循环每个数组,检查值,并在匹配时中断,但我觉得这会为每个orderId查找执行多个循环带来相当大的开销

 Array
 (
     [0] => Array
     (
        [orderId] => 98303
        [product] => Product A
     )

     [1] => Array
     (
        [orderId] => 98304
        [product] => Product B
     )

     [2] => Array
     (
        [orderId] => 98305
        [product] => Product C
     )

     [3] => Array
     (
        [orderId] => 98305
        [product] => Product D
     )

     [4] => Array
     (
        [orderId] => 98306
        [product] => Product A
     )

     [5] => Array
     (
        [orderId] => 98306
        [product] => Product B
     )
 )
谢谢你的帮助

D

用所需ID替换
98305


用所需ID替换
98305

我不知道这样的功能。也许它存在。但如果您的orderId是唯一的,则可以将其用作数组中的键。然后使用isset。那个数组很小,实际上我不关心速度。我不知道这样的函数。也许它存在。但如果您的orderId是唯一的,则可以将其用作数组中的键。然后使用isset。该数组非常小,实际上我不关心速度。使用它的理由很好;)有充分的理由使用它;)
$output = array_filter($input,function($a) {
    return $a['orderId'] == 98305;
});