我创建了一个带有循环的数组,它有点像这样:
$new_array[] = array(
'rating_value' => (float)$rating_value
);
新:我添加了长数组。它似乎适用于短阵列,但不适用于长阵列。
$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 );
为什么这不起作用?我没有按照正确的顺序得到数字,只是随意的。
我已经在stackoverflow上查看了很多之前的问题。这是我获得usort功能但仍然没有运气的地方。