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 値は、2 つのケースの中間にあります。

文字列は数値に変換されます。浮動小数点の変換に使用できる '.'、'E'、または 'e' が見つからない限り、最初に任意の数の文字を取り、比較する他のすべてを削除します。数字が見つからない場合は、ゼロと評価されます。

于 2012-05-25T02:54:13.783 に答える