「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PHP 配列でキー値 07 および 08 に異常が見られるのはなぜですか?

PHP 配列でキー値 07 および 08 に異常が見られるのはなぜですか?

2024 年 11 月 7 日に公開
ブラウズ:284

Why Do PHP Arrays Exhibit Anomalies with Key Values 07 and 08?

キー値 07 および 08 の PHP 配列の異常: 8 進解釈の探索

PHP 配列は多くの場合予想どおりに動作しますが、異常な現象が発生しますキー値 07 および 08 を使用する場合。他のキー値とは異なり、これら 2 つは print_r($months) を使用しても正しく出力されません。代わりに、「8 月」が欠落し、「9 月」がキー 0 に割り当てられます。

この不可解な動作は、先頭にゼロが続く数値の PHP 独自の解釈に起因します。具体的には、先頭に 0 が付いた数値を検出すると、PHP は、0x が前に付く数値が 16 進数値として解釈されるのと同様に、その数値を 8 進数値として解釈します。

キー値 07 および 08 の場合、PHP は次のように解釈します。これらの値は 8 進法では 7 と 8 になります。ただし、印刷時に 10 進数に変換されるため、「8 月」(10 進数値 8) が省略され、「9 月」(10 進数値 9) がキー 0 に割り当てられます。

この混乱を招くため、キー値から先頭のゼロを削除することをお勧めします。この簡単な変更により、PHP が値を正しく解釈し、キー値 07 および 08 での異常な動作が解決されるようになります。

このトピックについては、PHP マニュアルで包括的に説明されています。キー値の先頭のゼロを避け、8 進数の解釈の影響を理解することで、開発者はこの異常な動作を防止し、PHP 配列を正確に操作できるようになります。

リリースステートメント この記事は次の場所に転載されています: 1729424235 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3