2

当用字母和数字对数组进行排序时,如下所示:
$a = array(0, 1, 'a', 'A'); 排序($a);print_r($a);

结果让我很困惑:

Array ( [0] => a [1] => 0 [2] => A [3] => 1 ) 

为什么'a'和'A'之间的'0'?

4

1 回答 1

1

当您这样做时,数字将转换为字符串。数字字符 ASCII 值介于两种情况之间。

字符串被转换为数字。它以任意数字字符开头并丢弃其他所有字符进行比较,除非它找到可用于浮点转换的 '.'、'E' 或 'e'。如果它没有找到数字字符,它的计算结果为零。

于 2012-05-25T02:54:13.783 回答