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 に答える