print_r (PHP 4, PHP 5)

mixed print_r ( mixed expr [, bool return ] )

print_r 은 배열을 읽기 편하게 출력해 줍니다. 내부적으로 출력 버퍼링에 의해 키와 원소를 가지런히 보여주는 형식으로 값을 mixed 에 출력해 줍니다.

이는 print 와는 분명 다르다는 것을 알 수 있습니다. print 는 보전된 문자열을 출력해주는 언어구조로 보지만 print_r 은 함수로 분류해야 합니다.

 <?php
 $a = array (
    'a' => 'apple', 'b' => 'banana', 
    'c' => array ('x', 'y', 'z'));
 print_r ($a);

 /* 결과:
 Array
 (
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
 )
 */
 ?>

내부적 출력 값을 변수에 저장하여 외부적으로 사용할 수 있습니다. 변수에 저장하고자할 때는 true 를 입력해야 하고, 정의하지 않으면 1이라는 값을 가지게 되며, 내부적으로는 버퍼링되어 출력됩니다.

<?php
 // 외부적 출력값을 변수에 저장할때 true를 정의합니다.
 $expr = 'test';
 $str = print_r($expr, true);

 echo "$str"; // 결과: test

 // 정의하지 않으면 1이라는 값을 갖게 됩니다.
 $expr = 'test';
 $str = print_r($expr);

 echo "$str"; // 결과: test 1
 ?>

<?php
 $b = array (
  'm' => 'monkey', 
  'foo' => 'bar', 
  'x' => array ('x', 'y', 'z'));
 $results = print_r($b, true);

 echo "반환값은 아래와 같습니다. \n";
 echo $results;

 /* 출력:
 반환값은 아래와 같습니다.
 Array
 (
    [m] => monkey
    [foo] => bar
    [x] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
 )
 */
 ?>

0 댓글