現在の位置: ホーム> 最新記事一覧> print_r関数の基本的な使用法を理解し、習得する方法は?詳細に説明してください!

print_r関数の基本的な使用法を理解し、習得する方法は?詳細に説明してください!

M66 2025-07-18

PHPプログラミングでは、 print_r()関数は非常に一般的なデバッグツールです。特にアレイとオブジェクトを印刷するために、変数の値と構造を出力するために使用できます。初心者にとっては、 print_r()関数の使用を理解することが非常に重要です。この記事では、基本的な使用法、一般的なアプリケーションシナリオ、およびより効率的に使用する方法を詳細に紹介します。

1。print_r ()関数の概要

print_r()は、通常はデバッグに使用されるヒューマン読み取り可能な変数情報を出力するPHPの組み込み関数です。その主な機能は、変数のコンテンツと構造、特に配列とオブジェクトの表示効果を印刷することです。

2。print_r ()関数の構文

<span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$variable</span></span><span>, </span><span><span class="hljs-variable">$return</span></span><span>);
</span></span>
  • $変数:出力である必要がある変数、通常は配列、オブジェクト、またはその他の変数タイプ。

  • $ return (オプション):このパラメーターは、結果を返すかどうかを決定するブール値です。 trueの場合、 print_r()は出力結果を文字列として返します。 false (デフォルト)の場合、結果は直接出力されます。

3。print_r ()出力の例

  1. 通常の変数を出力します

<span><span><span class="hljs-variable">$var</span></span><span> = </span><span><span class="hljs-string">"Hello, World!"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$var</span></span><span>);
</span></span>

出力:

 <span><span>Hello, World!
</span></span>
  1. 出力配列

<span><span><span class="hljs-variable">$array</span></span><span> = </span><span><span class="hljs-keyword">array</span></span><span>(</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);
</span></span>

出力:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; </span><span><span class="hljs-number">1</span></span><span>
    [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; </span><span><span class="hljs-number">2</span></span><span>
    [</span><span><span class="hljs-meta">2</span></span><span>] =&gt; </span><span><span class="hljs-number">3</span></span><span>
    [</span><span><span class="hljs-meta">3</span></span><span>] =&gt; </span><span><span class="hljs-number">4</span></span><span>
    [</span><span><span class="hljs-meta">4</span></span><span>] =&gt; </span><span><span class="hljs-number">5</span></span><span>
)
</span></span>

上記のように、 print_r()は配列のキーと値を出力し、開発者が配列の構造を簡単に表示できるようにします。

  1. 出力連想配列

<span><span><span class="hljs-variable">$assocArray</span></span><span> = </span><span><span class="hljs-keyword">array</span></span><span>(</span><span><span class="hljs-string">"name"</span></span><span> =&gt; </span><span><span class="hljs-string">"John"</span></span><span>, </span><span><span class="hljs-string">"age"</span></span><span> =&gt; </span><span><span class="hljs-number">30</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$assocArray</span></span><span>);
</span></span>

出力:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">name</span></span><span>] =&gt; John
    [</span><span><span class="hljs-meta">age</span></span><span>] =&gt; </span><span><span class="hljs-number">30</span></span><span>
)
</span></span>
  1. 出力多次元配列

<span><span><span class="hljs-variable">$multiArray</span></span><span> = </span><span><span class="hljs-keyword">array</span></span><span>(
    </span><span><span class="hljs-string">"fruits"</span></span><span> =&gt; </span><span><span class="hljs-keyword">array</span></span><span>(</span><span><span class="hljs-string">"apple"</span></span><span>, </span><span><span class="hljs-string">"banana"</span></span><span>, </span><span><span class="hljs-string">"cherry"</span></span><span>),
    </span><span><span class="hljs-string">"vegetables"</span></span><span> =&gt; </span><span><span class="hljs-keyword">array</span></span><span>(</span><span><span class="hljs-string">"carrot"</span></span><span>, </span><span><span class="hljs-string">"potato"</span></span><span>)
);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$multiArray</span></span><span>);
</span></span>

出力:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">fruits</span></span><span>] =&gt; Array
        (
            [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; apple
            [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; banana
            [</span><span><span class="hljs-meta">2</span></span><span>] =&gt; cherry
        )
    [</span><span><span class="hljs-meta">vegetables</span></span><span>] =&gt; Array
        (
            [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; carrot
            [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; potato
        )
)
</span></span>

上記の例から、 print_r()が多次元配列の内容を再帰的に出力し、配列のネストされた構造を示すことがわかります。

4。print_r ()の返品値

print_r() $ returnの2番目のパラメーターはデフォルトでfalseになります。つまり、コンテンツは直接出力されます。ストリングを直接印刷する代わりに、出力を文字列として返す場合は、2番目のパラメーターをtrueに設定できます。

 <span><span><span class="hljs-variable">$array</span></span><span> = </span><span><span class="hljs-keyword">array</span></span><span>(</span><span><span class="hljs-string">"apple"</span></span><span>, </span><span><span class="hljs-string">"banana"</span></span><span>, </span><span><span class="hljs-string">"cherry"</span></span><span>);
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Returned output: \n"</span></span><span> . </span><span><span class="hljs-variable">$result</span></span><span>;
</span></span>

出力:

 <span><span>Returned output: 
Array
(
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; apple
    [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; banana
    [</span><span><span class="hljs-meta">2</span></span><span>] =&gt; cherry
)
</span></span>

5。print_r ()var_dump()の違い

print_r()var_dump()の両方を使用して出力変数をデバッグできますが、出力フォームは異なります。

  • print_r()はより簡潔で、配列とオブジェクトの内容を人間が読みやすい形式で表示します。

  • var_dump()出力データタイプ、長さなどを含むより詳細な情報は、デバッグ中のデータ型の厳密な検査に適しています。

例えば:

 <span><span><span class="hljs-variable">$array</span></span><span> = </span><span><span class="hljs-keyword">array</span></span><span>(</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);
</span></span>

出力:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; </span><span><span class="hljs-number">1</span></span><span>
    [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; </span><span><span class="hljs-number">2</span></span><span>
    [</span><span><span class="hljs-meta">2</span></span><span>] =&gt; </span><span><span class="hljs-number">3</span></span><span>
)
</span></span>

var_dump()の出力は次のとおりです。

 <span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);
</span></span>

出力:

 <span><span>array(</span><span><span class="hljs-number">3</span></span><span>) {
  [</span><span><span class="hljs-meta">0</span></span><span>] =&gt;
  </span><span><span class="hljs-built_in">int</span></span><span>(</span><span><span class="hljs-number">1</span></span><span>)
  [</span><span><span class="hljs-meta">1</span></span><span>] =&gt;
  </span><span><span class="hljs-built_in">int</span></span><span>(</span><span><span class="hljs-number">2</span></span><span>)
  [</span><span><span class="hljs-meta">2</span></span><span>] =&gt;
  </span><span><span class="hljs-built_in">int</span></span><span>(</span><span><span class="hljs-number">3</span></span><span>)
}
</span></span>

これから、 var_dump()が各要素のタイプとデータ値を出力し、 print_r()がより簡潔な方法で配列コンテンツを出力することがわかります。

6。print_r ()の一般的なアプリケーションシナリオ

  1. デバッグ配列とオブジェクト構造

print_r()は、特に複雑なデータ構造をデバッグする場合、配列またはオブジェクトの構造をすばやく表示するのに最適です。従来のエコーvar_dump()よりも読み、理解しやすいです。

  1. 出力JSONデータ構造

JSONデータを処理する場合、 print_r()を使用すると、解析された配列またはオブジェクトを表示できます。

 <span><span><span class="hljs-variable">$jsonData</span></span><span> = </span><span><span class="hljs-string">'{"name": "John", "age": 30}'</span></span><span>;
</span><span><span class="hljs-variable">$decodedData</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>(</span><span><span class="hljs-variable">$jsonData</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$decodedData</span></span><span>);
</span></span>

出力:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">name</span></span><span>] =&gt; John
    [</span><span><span class="hljs-meta">age</span></span><span>] =&gt; </span><span><span class="hljs-number">30</span></span><span>
)
</span></span>
  1. 投稿を印刷するか、リクエストデータを取得します

フォームデータを受信する場合、 print_r()は、渡されたデータが正しいかどうかを確認するのに役立ちます。

 <span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>);
</span></span>

7。概要

print_r()は非常に便利なPHP機能であり、特に開発段階でのデバッグに適しています。アレイとオブジェクトの構造を明確に表示できるため、開発者はデータのコンテンツをよりよく理解できます。 print_r()を柔軟に使用することにより、問題をすばやく見つけてコードを改善できます。

この記事が、print_r()関数の基本的な使用法をよりよく理解し、習得できることを願っています。