PHP の print_r 出力の最後にある興味深い「1」を解明する
PHP の print_r 関数を使用してオブジェクトを検査する場合、次のような問題が発生する可能性があります。出力の最後に謎の「1」が追加されます。このあいまいな詳細は多くの開発者を困惑させ、説明を求めています。
ソースの公開
print_r ステートメントの最後の「1」は、次の文書には明示的に文書化されていません。 PHPマニュアル。詳しく調べると、これは print_r と組み合わせて使用されている echo コンストラクトのアーティファクトであることが明らかです。 echo を使用すると、出力の最後に改行文字が自動的に追加されます。この改行は、print_r ステートメントのコンテキストでは「1」としてレンダリングされます。
Print_r 関数
PHP の print_r 関数は、オブジェクトまたは配列の簡潔な表現を提供します。入力を再帰的に走査し、オブジェクトのプロパティと配列の要素の値と型を表示します。出力形式は PHP の var_dump 関数に従い、人間が判読できる形式でデータを表示します。
ベスト プラクティス
print_r はデバッグ目的には役立ちますが、そうではありません。その出力の解析に依存することをお勧めします。オブジェクトまたは配列から特定のデータを抽出するには、より構造化され信頼性の高い代替手段が存在します。たとえば、PHP の var_export 関数を利用したり、ゲッター メソッドを実装して個々のプロパティを取得したりできます。
以上がなぜ「print_r」は最後に「1」を出力するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。