разделить массив на множество массивов, используя данный ключ в php - PullRequest
0 голосов
/ 02 марта 2012

У меня есть массив как

array (
  (1) => array => ([1]=aa, [2]=other keys and values),
  (2) => array => ([1]=bb, [2]=other keys and values),
  (3) => array => ([1]=cc, [2]=other keys and values),
  (4) => array => ([1]=aa, [2]=other keys and values),
  (5) => array => ([1]=bb, [2]=other keys and values),
  (6) => array => ([1]=cc, [2]=other keys and values),
  (7) => array => ([1]=bb, [2]=other keys and values)
)

Я хотел бы создать массивы на основе [1] = aa/bb/cc/dd.

Чтобы разделить исходный массив на различные уникальные массивы, имеющие одинаковое значение ключа [1].

Я не хочу использовать foreach, так как ожидается, что результирующий набор достигнет 10 тыс. Строк.

Это оптимально вообще ??

Ответы [ 2 ]

3 голосов
/ 02 марта 2012

Независимо от того, какое решение вы выберете, вам придется перебрать все строки в вашем массиве, несмотря ни на что.Прямо или косвенно.Не существует магического кода, который мог бы решить, что находится внутри запечатанной коробки, не открывая коробку.

Итак, кроме очевидного foreach вы можете использовать array_walk

1 голос
/ 02 марта 2012

Это оптимально вообще ??

Определенно нет.

Хотя винить здесь не foreach, а программиста, у которого есть циклы по 10 тыс. Строк.

Если это обычная веб-страница, обслуживаемая по запросу пользователя, не должно быть 10 тысяч строк.Вы должны уменьшить число как минимум в 100 раз. Или разрешите хранилищу данных выполнить необходимые вычисления.

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