Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP echo, print, print_r 차이점 한눈에 정리

PHP에서 echoprint는 모두 문자열을 화면에 출력하기 위한 언어 구조(language construct)입니다. 두 구문의 가장 큰 차이점은 반환값입니다. echo는 반환값이 없는 void 타입인 반면, print는 항상 1을 반환하므로 표현식(expression) 내부에서 사용할 수 있습니다.

print_r은 변수에 대한 사람이 읽기 쉬운(human-readable) 정보를 출력하는 함수로, 특히 배열이나 객체의 내부 구조를 확인할 때 매우 유용합니다.

주요 차이점 비교

  • echo: 반환값이 없으며, 쉼표(,)를 이용해 여러 문자열을 한 번에 출력할 수 있습니다. print보다 실행 속도가 약간 더 빠릅니다.
  • print: 반환값이 1이므로 조건문 등 표현식 안에서 사용할 수 있으며, 인자는 하나만 전달할 수 있습니다.
  • print_r: 배열과 객체의 키-값 구조를 보기 좋게 출력하며, 두 번째 인자로 true를 전달하면 출력하지 않고 결과를 문자열로 반환합니다.

예제

이제 echo, print, print_r을 사용하여 배열 값을 출력하는 예제를 살펴보겠습니다.

<?php
    $arr = array("John", "Jacob", "Tom", "Tim");
    echo "Array...\n";
    foreach($arr as $value) {
        echo "Value = $value \n";
    }
    echo "\nDisplaying Array Values using print...\n";
    foreach($arr as $value) {
        print("Value = $value \n");
    }
    echo "\nDisplaying Array Values using print_r...\n";
    print_r($arr);
?>

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Array...
Value = John
Value = Jacob
Value = Tom
Value = Tim

Displaying Array Values using print...
Value = John
Value = Jacob
Value = Tom
Value = Tim

Displaying Array Values using print_r...
Array
(
    [0] => John
    [1] => Jacob
    [2] => Tom
    [3] => Tim
)