ぺちぺ、謎動作

会社でエライ人にきいた。

$ php -r '$a["1"]="foo";$a[1]="bar";print_r($a);'
Array
(
    [1] => bar
)

普通です。

$ php -r '$a["2147483646"]="foo";$a[2147483646]="bar";print_r($a);'
Array
(
    [2147483646] => bar
)

これも普通です。

$ php -r '$a["2147483647"]="foo";$a[2147483647]="bar";print_r($a);'
Array
(
    [2147483647] => foo
    [2147483647] => bar
)

!!!!!!!!! 2147483647(2の31乗-1)が二つ存在するよ!
ちなみに

$ php -r '$a["2147483648"]="foo";$a[2147483648]="bar";print_r($a);'
Array
(
    [2147483648] => foo
    [-2147483648] => bar
)

これは仕様っぽい。