Я пытаюсь упорядочить результаты вызова AJAX на своей странице, сравнивая числовое значение одного из полей в объекте XML. По сути, это рейтинг популярности продукта, где чем выше число, тем он популярнее.
У меня это почти работает, за исключением того, что strcmp
сравнивает только первую цифру, поэтому порядок сейчас примерно такой: 1, 12, 15, 19, 2, 21, 24, 3, 34, 36, 39, 5, 52, 56
Как я могу изменить этот код, чтобы числа упорядочивались от меньшего к большему, независимо от того, сколько цифр в нем?
$products = array();
foreach($xml->Products as $product) {
$products[] = $product;
};
// Sort results based on popularity
usort ($products, function($a, $b) {
return strcmp($a->ProductPopularity, $b->ProductPopularity);
});
Благодарю вас!