Поиск массивов php - PullRequest
       3

Поиск массивов php

1 голос
/ 24 февраля 2012

У меня есть вопрос о массиве PHP относительно поиска, который, я надеюсь, какой-нибудь добрый человек может помочь мне с ...

Массив, показанный ниже, представляет собой набор массивов, например, элементы заказа. Поскольку я зацикливаю отдельный массив orderIds, я хотел бы вернуть соответствующий массив продуктов.

Например, если я запрашиваю 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

1 Ответ

1 голос
/ 24 февраля 2012

array_filter()

$output = array_filter($input,function($a) {
    return $a['orderId'] == 98305;
});

Замените 98305 на нужный идентификатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...