Поиск многомерного массива по значению - PullRequest
0 голосов
/ 28 сентября 2019

Интересно, есть ли лучший (более быстрый) способ поиска значения в многомерном массиве, чем циклический просмотр каждого элемента?

Допустим, у меня есть

$id_to_search = '16819976033';

И массив, который довольноbig

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 ...
)

Я могу найти его, если перебрать каждый элемент и сравнить их, но это очень медленно, потому что массив большой.

1 Ответ

2 голосов
/ 28 сентября 2019

Вы можете использовать функцию array_search в PHP:

$key = array_search($id_to_search, array_column($YourArray, 'id'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...