Вам определенно нужна функция usort .Вы можете определить, как функция сортировки определяет, какая из них больше или меньше.
Если все в порядке, что каждый под-массив («фильтров» и «счетчиков») переиндексируется, это должно работать отлично.Под переиндексированием я подразумеваю, что вновь отсортированный массив будет начинаться с 0, прогрессировать до 1 и т. Д. Это почти всегда так, как вы хотите, если только ваш исходный массив не является ассоциативным.
Например:
usort($array, "byCount");
function byCount($a, $b)
{
if( $a['count'] == $b['count'] )
{
return 0;
}
return ($a['count'] < $b['count']) ? -1 : 1;
}