我有一个这样的数组的 PHP 脚本:
array (
"+15" => 5,
"-5" => 20,
"+2" => 2,
"-1" => 9
)
键都是唯一的(+15 等)。我想按键排序,所以:
foreach($array as $k => $v ) {
echo $k . ' has a count of ' . $v;
}
关于按 + 和 - 键排序的任何想法。我无法让它正常工作
您可以只使用ksort
, (您的键都是数字字符串,它们将被视为整数。)
ksort($array);
var_dump($array);
结果:
array(4) {
[-5]=>
int(20)
[-1]=>
int(9)
["+2"]=>
int(2)
["+15"]=>
int(5)
}
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
)