0

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);
4

1 に答える 1

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;
});

これを試してください

于 2012-04-11T08:21:03.757 に答える