0

我有一个这样的数组的 PHP 脚本:

array (

"+15" => 5,
"-5" => 20,
"+2" => 2,
"-1" => 9

)

键都是唯一的(+15 等)。我想按键排序,所以:

foreach($array as $k => $v ) {

echo $k . ' has a count of ' . $v;

}

关于按 + 和 - 键排序的任何想法。我无法让它正常工作

4

2 回答 2

2

您可以只使用ksort, (您的键都是数字字符串,它们将被视为整数。)

ksort($array);
var_dump($array);

结果:

array(4) {
  [-5]=>
  int(20)
  [-1]=>
  int(9)
  ["+2"]=>
  int(2)
  ["+15"]=>
  int(5)
}
于 2012-10-29T01:22:35.427 回答
1

natsort ()会起作用吗?

来自 php.net:

<?
    $array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

    asort($array1);
    echo "Standard sorting\n";
    print_r($array1);

    natsort($array2);
    echo "\nNatural order sorting\n";
    print_r($array2);
?>

输出:

Standard sorting
Array
(
    [3] => img1.png
    [1] => img10.png
    [0] => img12.png
    [2] => img2.png
)

Natural order sorting
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)
于 2012-10-29T01:25:18.697 回答