PHPの連想配列のキーは、文字列か整数が利用可能だが、型判定なしで比較
PHPの連想配列のキーは、文字列か整数が利用可能だが、型判定なしで比較
$test = [];
$test[123] = '123 int';
$test['123'] = '123 string';
$test[1.2] = '1.2 real';
$test[1.6] = '1.6 real';
$test['1.2'] = '1.2 string';
$test['1.6'] = '1.6 string';
print_r($test);
実行結果
Array
(
[123] => 123 string
[1] => 1.6 real
[1.2] => 1.2 string
[1.6] => 1.6 string
)
キーは
- 数値と数値のみの文字列は同一
- 実数は小数部が切り捨てられる
$test[1.2] は $test[1.6] で上書きされている。どちらも $test[1] への代入と同じ
コメント