Сортировка массива с помощью PHP usort не удалась
Я создал массив с циклом, создавая его примерно так:
$new_array[] = array(
'rating_value' => (float)$rating_value
);
NEW: я добавляю длинный массив. Кажется, он работает с короткими массивами, но не с длинными.
$new_array = array (
0 =>
array (
'rating_value' => 4.5,
),
1 =>
array (
'rating_value' => 0,
),
2 =>
array (
'rating_value' => 4.5,
),
3 =>
array (
'rating_value' => 3.5,
),
4 =>
array (
'rating_value' => 3.5,
),
5 =>
array (
'rating_value' => 3,
),
6 =>
array (
'rating_value' => 5,
),
7 =>
array (
'rating_value' => 2.5,
),
8 =>
array (
'rating_value' => 3.5,
),
9 =>
array (
'rating_value' => 4.5,
),
10 =>
array (
'rating_value' => 0,
),
11 =>
array (
'rating_value' => 0,
),
12 =>
array (
'rating_value' => 4,
),
13 =>
array (
'rating_value' => 4,
),
);
Я хочу отсортировать по rating_value
,
usort($new_array, function($a, $b) {
return $a['rating_value'] - $b['rating_value'];
});
print_r( $new_array );
Почему это не работает? Я не получаю числа в правильном порядке, просто в некотором роде.
Я посмотрел на многие предыдущие вопросы по stackru. Вот где я получил функцию usort, но все равно не повезло.