php usort with subarrays

时间:2012-04-11 08:07:15

标签: php usort

我正在尝试使用usort对数组进行排序, 但它不起作用, 我做错了什么?

$tmp = array();
$tmp[] = array(
  'x' => 0.000123
);
$tmp[] = array(
  'x' => 0.000120
);
$tmp[] = array(
  'x' => 0.000333
);

usort($tmp, function ($a, $b) {
  return $b['x'] - $a['x'];
});

print_r($tmp);

1 个答案:

答案 0 :(得分:0)

$tmp = array();
$tmp[] = array(
    'x' => 0.000123
);
$tmp[] = array(
    'x' => 0.000120
);
$tmp[] = array(
    'x' => 0.000333
);

usort($tmp, function ($a, $b) {
    $a = $a['x'];
    $b = $b['x'];
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
});

试试这个