使用PHP usort排序数组失败

时间:2014-10-07 13:43:25

标签: php arrays sorting usort

我创建了一个带有循环的数组,它有点像这样:

$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功能但仍然没有运气的地方。

0 个答案:

没有答案