PHP では、配列キーとして数値を使用できます。ただし、数値文字列 (「123」など) を使用する場合、PHP はそれらを自動的に整数に変換します。キーの文字列値を保持したい場合、この動作は問題になる可能性があります。
次のコードを考えてみましょう。
$blah = ['123' => 1]; var_dump($blah);
出力:
array(1) { [123] => int(1) }
ご覧のとおり、キー「123」は整数に変換されました。これを防ぐために、PHP では、変換せずに配列キーとして数値文字列を使用することはサポートされていません。
PHP マニュアルによると、
「キーは整数または文字列のいずれかです。キーの場合」は整数の標準表現であるため、そのように解釈されます (つまり、「8」は 8 として解釈され、「08」は次のように解釈されます) "08")."
数値文字列と整数がオブジェクト キーとして同じ意味で使用できる JavaScript とは対照的に、PHP は配列キーとして使用される場合、数値文字列を整数として扱います。これにより、特に JSON データを操作する場合、予期しない結果が生じる可能性があります。
潜在的な問題を回避するには、PHP では配列キーとして文字列または整数のみを使用することをお勧めします。両方のタイプのキーを操作する必要がある場合は、配列の代わりにオブジェクトの使用を検討してください。
以上がPHP は数値文字列を整数とは異なる配列キーとして扱いますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。