PHP 配列を使用するには、通常、文字列または整数のキーに値を割り当てる必要があります。ただし、PHP で数値文字列を整数に変換せずに配列キーとして使用できるか?という疑問が生じます。次の例を考えてみましょう:
$blah = array('123' => 1); var_dump($blah);
ここでは、次のような出力が期待できます:
array(1) { ["123"]=> int(1) }
キー '123' は文字列として表されます。ただし、実際の出力は次のとおりです。
array(1) { [123]=> int(1) }
これは、数値文字列 '123' が整数キー 123 に変換されたことを示しています。
PHP で数値が許可されないのはなぜですか文字列キー?
PHP によるとManual:
キーは整数または文字列のいずれかです。キーが整数の標準表現である場合、そのように解釈されます (つまり、「8」は 8 として解釈され、「08」は「08」として解釈されます)。
これは、次のことを意味します。 PHP は、数値文字列を文字列として引用した場合でも、整数として解釈します。
付録: JavaScript との比較オブジェクト キー
PHP でのこの動作は、JavaScript のオブジェクト キーと似ていますが、同一ではありません。 JavaScript では、数値文字列をオブジェクト キーとして使用でき、それらは文字列形式を保持します。
foo = { '10' : 'bar' }; foo['10']; // "bar" foo[10]; // "bar" foo[012]; // "bar" foo['012']; // undefined!
この例では、「10」が文字列キーとして使用され、10 と 012 は両方とも解釈されます。整数として。ただし、引用符で囲まれた文字列としての「012」は、文字列「012」として解釈される PHP とは異なり、未定義として扱われます。
以上がPHP 配列は整数変換せずに数値文字列をキーとして使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。