현재 위치: > 최신 기사 목록> 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 의 두 번째 매개 변수는 false 로 기본적으로 표시되므로 컨텐츠가 직접 출력됩니다. 출력을 직접 인쇄하는 대신 문자열로 출력을 반환하려면 두 번째 매개 변수를 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 () 함수의 기본 사용법을 더 잘 이해하고 마스터하는 데 도움이되기를 바랍니다.