Вот фрагмент моего массива, который используется в php 5.3.x:
$arr[$category][$item][$attr_qty] = 3;
$arr[$category][$item][$attr_price] = 12.00;
$category
произвольные целые числа, как $item
, так же как и $attr_qty
а также $attr_price
,
Есть ли быстрый способ сортировки, по $attr_qty
предметы в каждой категории?
Использование целых чисел делает код проще, но у меня возникает ощущение, что мне придется использовать ассоциативные массивы.
Ты можешь использовать usort
который позволяет указать пользовательскую функцию сортировки
usort($arr, 'customSortFunction');
function customSortFunction($a, $b)
{
if ($a['item']['attr_qty'] > $b['item']['attr_qty']) return 1; //First element is bigger
elseif ($a['item']['attr_qty'] < $b['item']['attr_qty']) return -1; //Second element is bigger
else return 0; //Both are equal
}
Других решений пока нет …