Как отсортировать ассоциативный массив в PHP по определенному значению
Вот мой массив:
Array
(
[0] => Array
(
[MyProduct] => Array
(
[id] => 5681
[part_number] => 78689
[model] => Tiger Paw GTZ All Season
[web_price] => $74.68
[web_price_markup] => 91.07
)
)
[1] => Array
(
[MyProduct] => Array
(
[id] => 33370
[part_number] => 49946
[model] => Tiger Paw GTZ A/S 2
[web_price] => $75.92
[web_price_markup] => 92.58
)
)
[2] => Array
(
[MyProduct] => Array
(
[id] => 12542
[part_number] => 28953781
[model] => Ziex ZE950 A/S
[web_price] => $78.86
[web_price_markup] => 96.17
)
)
)
Я хочу отсортировать этот массив по "web_price_markup", пожалуйста, помогите.
1 ответ
Прежде всего напишите функцию сравнения, которая сравнивает 'web_price_markup'
ценности вашего объекта.
function compare($a,$b){ return strcasecmp($a['name'], $b['name']); }
а затем используйте usort (предположим, что ваш массив $x
):
if(usort($x, 'compare')){
var_dump($x);
}