У меня есть следующий массив:
Array
(
[medium_priority] => Array
(
[0] => Array
(
[module] => a
[block] => b
[message] => c
[weight] => 60
)
)
[high_priority] => Array
(
[0] => Array
(
[module] => a
[block] => b
[message] => c
[weight] => 95
)
[1] => Array
(
[module] => a
[block] => b
[message] => c
[weight] => 85
)
[2] => Array
(
[module] => a
[block] => b
[message] => c
[weight] => 80
)
)
[low_priority] => Array
(
[0] => Array
(
[module] => a
[block] => b
[message] => c
[weight] => 20
)
[1] => Array
(
[module] => a
[block] => b
[message] => c
[weight] => 30
)
)
)
Используя PHP, я хочу получить массив, состоящий из пяти значений с наибольшим значением weight
, например:
Array
(
[0] => Array
(
[module] => a
[block] => b
[message] => c
[weight] => 95
)
[1] => Array
(
[module] => a
[block] => b
[message] => c
[weight] => 85
)
[2] => Array
(
[module] => a
[block] => b
[message] => c
[weight] => 80
)
[3] => Array
(
[module] => a
[block] => b
[message] => c
[weight] => 60
)
[4] => Array
(
[module] => a
[block] => b
[message] => c
[weight] => 30
)
)
Конечно, это может быть достигнуто путем итерации по массиву с использованием цикла, чтобы «сгладить» массив и затем отсортировать его usort
, но я думаю, что должен быть более простой и быстрый способ.
Тем не менее, я не могу понять, что это будет.
Надеюсь, вы мне поможете!