Привет, У меня есть проблема, и я не могу найти ответ. Я имею массив с массивами в нем и хочу сгруппировать эти вспомогательные массивы в группы на основе того же значения для поля. Это мой код и позволяет сортировать мои массивы на основе массивов внутри значений. Как сгруппировать результат на основе общих значений? Я, вероятно, не будет знать все значения, как некоторые из них основаны на дате, и я хочу, например, группы всего за день/месяцPHP группировки массивов в массиве по значению
if($filter == "ORDER BY TODO_REF DESC"){
$type_sort = 0;
};
if($filter == "ORDER BY TODO_PRIO DESC"){
$type_sort = 2;
};
if($filter == "ORDER BY TODO_DEAD DESC"){
$type_sort = 3;
};
function aasort (&$array, $key) {
$sorter=array();
$ret=array();
reset($array);
foreach ($array as $ii => $va) {
$sorter[$ii]=$va[$key];
}
asort($sorter);
foreach ($sorter as $ii => $va) {
$ret[$ii]=$array[$ii];
}
$array=$ret;
}
aasort($test_array, $type_sort);
print_r($test_array);
Токовый выход:
priority
Array
(
[3] => Array
(
[0] => 2
[1] => sdfsdgdfgdfgdfg
[2] => 3
[3] => 2013-05-30 13:53:23
)
[2] => Array
(
[0] => 1
[1] => This must also be done
[2] => 4
[3] => 2013-03-28 12:13:34
)
[1] => Array
(
[0] => 1
[1] => testing this show me 2
[2] => 5
[3] => 2029-02-23 17:27:20
)
[0] => Array
(
[0] => 1
[1] => Do this task and make sure it gets done
[2] => 5
[3] => 2013-06-28 12:12:41
)
)
То, что я хочу что-то будет как это, где они разделяются на отдельные массивы на основе суб ключа массива 2:
Array
(
[3] => Array
(
[0] => 2
[1] => sdfsdgdfgdfgdfg
[2] => 3
[3] => 2013-05-30 13:53:23
)
)
Array
(
[2] => Array
(
[0] => 1
[1] => This must also be done
[2] => 4
[3] => 2013-03-28 12:13:34
)
)
Array
(
[1] => Array
(
[0] => 1
[1] => testing this show me 2
[2] => 5
[3] => 2029-02-23 17:27:20
)
[0] => Array
(
[0] => 1
[1] => Do this task and make sure it gets done
[2] => 5
[3] => 2013-06-28 12:12:41
)
)
Так что я понимаю, что это будет сделано, это сделать 2 массива. Когда я печатаю_r $ test_array [0]; Я получаю массив, но почему этот массив равен 1? Также, что это делает, это разместить его в двух массивах, но, похоже, это не делает это по значению вспомогательных массивов? Также, когда я использую даты, он должен динамически добавлять больше массивов, так как будет много других значений для группировки. –
, тогда вы должны использовать автоматически сгенерированный '$ array [$ i]' вместо '$ array_1' и' $ array_2' – Raptor