【发布时间】:2012-03-24 16:07:13
【问题描述】:
<?php
$a = array(
'a'=>'7833',
'd'=>'1297',
'c'=>'341',
'1'=>'67',
'b'=>'225',
'3'=>'24',
'2'=>'44',
'4'=>'22',
'0'=>'84'
);
ksort($a);
print_r($a);
以上代码产生以下输出。
Array
(
[0] => 84
[a] => 7833
[b] => 225
[c] => 341
[d] => 1297
[1] => 67
[2] => 44
[3] => 24
[4] => 22
)
为什么ksort会给出错误的结果?
【问题讨论】:
-
您认为正确的结果如何?
-
我需要根据 ASCII 表的顺序对索引进行排序。
-
10会去哪里,在1和2之间或在9之后? -
@salathe - 根据 ASCII 顺序,'10' 不能在 '9' 之后,对吗?我明白你的意思,但如果 ASCII 顺序是 OP 想要的,那很好。
-
10不是 ASCII 字符(它是两个字符),所以说“ASCII 顺序”没有意义,因此要求澄清。