Php 对包含数字和字母的数组进行排序

Php 对包含数字和字母的数组进行排序,php,arrays,sorting,Php,Arrays,Sorting,使用字母和数字对数组进行排序时,如下所示: $a=数组(0,1,'a','a'); 排序(a美元); 印刷费($a) 结果让我很困惑: Array ( [0] => a [1] => 0 [2] => A [3] => 1 ) 为什么在“a”和“a”之间使用“0”?执行此操作时,数字将转换为字符串。数字字符ASCII值介于两种情况之间 字符串被转换为数字。它在开始处接受任何数字字符,并删除所有要比较的字符,除非它找到“.”、“E”或“E”,这些字符可用于浮点转换。如果

使用字母和数字对数组进行排序时,如下所示:
$a=数组(0,1,'a','a'); 排序(a美元); 印刷费($a)

结果让我很困惑:

Array ( [0] => a [1] => 0 [2] => A [3] => 1 ) 
为什么在“a”和“a”之间使用“0”?

执行此操作时,数字将转换为字符串。数字字符ASCII值介于两种情况之间


字符串被转换为数字。它在开始处接受任何数字字符,并删除所有要比较的字符,除非它找到“.”、“E”或“E”,这些字符可用于浮点转换。如果找不到数字字符,则计算结果为零。

php.net-警告:对具有混合类型值的数组进行排序时要小心,因为sort()可能会产生不可预测的结果。@Evan Mulawski,那么如何在ASCII中对这样的数组进行排序?我希望它的结果类似于:array(0,1,a,a)…指定第二个参数对_NUMERIC进行排序。看见在ASCII中,大写字母出现在小写之前。根据您实际需要的顺序,您可能更喜欢使用<代码> SotTyFrase< /Cape>标志作为第二个参数。并考虑指定<代码> SotTyFrase或<代码> SotTySype