У меня есть массив массивов, так как такиесортировки мульти двумерный массив в PHP
$statuses = array(
[0] => array('id'=>10, 'status' => 'active'),
[1] => array('id'=>11, 'status' => 'closed'),
[2] => array('id'=>12, 'status' => 'active'),
[3] => array('id'=>13, 'status' => 'stopped'),
)
Я хочу, чтобы иметь возможность сделать новый массив массивов, и каждый из этих подгрупп массивов будет содержать элементы, основанные на если они имеют одинаковый статус. Трюк здесь, я не хочу делать проверку чека на основе жестко закодированных имен статусов, поскольку они могут быть случайными. Я хочу в основном провести динамическое сравнение и сказать «если вы уникальны, то создайте новый массив и вставьте себя там, если массив уже существует с таким же статусом, а не вместо меня вместо меня». Пример результата может выглядеть примерно так.
У меня действительно был вызов с этим, потому что единственный способ, которым я могу это сделать, - проверить каждый элемент на каждый отдельный элемент и, если он уникален, чем создать новый массив. Это быстро выходит из-под контроля, если исходный массив больше 100. Должны быть некоторые встроенные функции, которые могут сделать это эффективным.
<?php
$sortedArray = array(
['active'] => array(
array(
'id' => 10,
'status' => 'active'
),
array(
'id' => 12,
'status' => 'active'
)
),
['closed'] => array(
array(
'id' => 11,
'status' => 'active'
)
),
['stopped'] => array(
array(
'id' => 13,
'status' => 'active'
)
),
)
'foreach ($ arr as $ child) {$ newarr [$ child ['status']] [] = $ child; } ' –
Ну, я буду проклят. Это сработало отлично. Я собирался сделать что-то смехотворно сложное. благодаря!!!! –