> 백엔드 개발 > PHP 튜토리얼 > 디버깅 중 PHP의 echo print() print_r() var_dump() 차이점에 대한 자세한 소개

디버깅 중 PHP의 echo print() print_r() var_dump() 차이점에 대한 자세한 소개

黄舟
풀어 주다: 2023-03-07 06:26:01
원래의
1862명이 탐색했습니다.

echo

하나 이상의 값 ​​(String)을 쉼표로 구분하여 출력합니다. Echo는 실제 함수가 아닌 언어 구조이므로 표현식의 일부로 사용할 수 없습니다.

print()

함수 print()는 문자열이 성공하면 값(해당 매개변수)을 인쇄합니다. 표시되면 true, 그렇지 않으면 false입니다. echo와 동일하지만 echo보다 느립니다.

print_r()

문자열, 정수 또는 부동 소수점이 주어지면 간단히 문자열과 숫자를 인쇄할 수 있습니다. 변수 값 자체. 객체는 배열과 유사합니다. 반면에 배열은 Array로 시작하여 괄호로 묶인 키와 값 목록으로 표시됩니다. 기억하세요, print_r()은 배열 포인터를 끝으로 이동합니다. 포인터를 처음으로 되돌리려면 Reset()을 사용하세요.

$arr = array('name'=> 'bob','age' => 20, 'sex' => 'man');

print_r($arr);
로그인 후 복사

출력 형식은 다음과 같습니다:

Array{
     [name] => bob,

     [age] => 20,

     [sex] => man
}
로그인 후 복사

그러나 print_r()을 사용하여 부울 값을 표시하는 것은 의미가 없으며 NULL:

예:

print_r(true);           //输出1
print_r(false);          //没有输出
print_r(null);          //没有输出
로그인 후 복사

Boolean 값과 NULL을 출력하는 print_r()의 결과는 모두 "n"을 인쇄하기 때문에 의미가 없습니다. 따라서 디버깅에는 var_dump() 함수를 사용하는 것이 더 적합합니다.

var_dump()

변수의 종류와 길이를 판별하고 변수에 값이 있으면 그 값을 출력합니다. , 출력은 변수 값이고 데이터 유형 을 반환합니다. 이 함수는 표현식의 유형 및 값을 포함하여 하나 이상의 표현식에 대한 구조적 정보를 표시합니다. 배열은 재귀적으로 값을 확장하여 들여쓰기를 통해 구조를 표시합니다.

var_dump(true); //输出 bool(true)
var_dump(false);   // bool(false)
var_dump(null);   // bool(null)
var_dump(array('name' => 'bob', 'age' => 20));
array(2) {
    ['name'] => string(3) 'bob'
    ['age'] => int(20)
}
로그인 후 복사

var_export()

print_r 및 var_dump와 유사하지만 거의 사용되지 않습니다.

var_dump와 print_r의 차이점

var_dump는 표현식의 유형과 값을 반환하고 print_r은 결과만 반환합니다. 디버깅 코드와 비교하면 다음과 같습니다. , var_dump를 사용하는 것이 더 편리합니다. 읽기 쉽습니다.

 print_r(), var_export(), var_dump()의 차이점은 다음과 같습니다.

2차원 배열의 출력 :

$arr=array(        
array('a'=>'aa','b'=>'bbb','c'=>'ccc'),        
array('a'=>'ddd','b'=>'eee','c'=>'fff'), 
        array('a'=>'gg','b'=>'hh')
);
echo "<pre class="brush:php;toolbar:false">";
print_r($arr);echo "
";echo "
";
var_export($arr);echo "
";echo "
";
var_dump($arr);echo "
";
로그인 후 복사

print_r($arr)의 출력 결과

Array(
    [0] => Array
        (
            [a] => aa
            [b] => bbb
            [c] => ccc
        )

    [1] => Array
        (
            [a] => ddd
            [b] => eee
            [c] => fff
        )

    [2] => Array
        (
            [a] => gg
            [b] => hh
        )

)
로그인 후 복사

var_export($arr)의 출력 결과

array (  0 => 
  array (    &#39;a&#39; => &#39;aa&#39;,    &#39;b&#39; => &#39;bbb&#39;,    &#39;c&#39; => &#39;ccc&#39;,
  ),  1 => 
  array (    &#39;a&#39; => &#39;ddd&#39;,    &#39;b&#39; => &#39;eee&#39;,    &#39;c&#39; => &#39;fff&#39;,
  ),  2 => 
  array (    &#39;a&#39; => &#39;gg&#39;,    &#39;b&#39; => &#39;hh&#39;,
  ),
)
로그인 후 복사

var_dump( $arr)

array (size=3)  0 => 
    array (size=3)    &#39;a&#39; => string &#39;aa&#39; (length=2)     &#39;b&#39; => string &#39;bbb&#39; (length=3)     &#39;c&#39; => string &#39;ccc&#39; (length=3)  1 => 
    array (size=3)    &#39;a&#39; => string &#39;ddd&#39; (length=3)  &#39;b&#39; => string &#39;eee&#39; (length=3)   &#39;c&#39; => string &#39;fff&#39; (length=3)  2 => 
    array (size=2)    &#39;a&#39; => string &#39;gg&#39; (length=2)     &#39;b&#39; => string &#39;hh&#39; (length=2)
로그인 후 복사

json 형식의 출력은 다음과 같습니다.

$arr=array(array(&#39;a&#39;=>&#39;aa&#39;,&#39;b&#39;=>&#39;bbb&#39;,&#39;c&#39;=>&#39;ccc&#39;),           
array(&#39;a&#39;=>&#39;ddd&#39;,&#39;b&#39;=>&#39;eee&#39;,&#39;c&#39;=>&#39;fff&#39;),           
array(&#39;a&#39;=>&#39;gg&#39;,&#39;b&#39;=>&#39;hh&#39;));
$arra=json_encode($arr);echo "<pre class="brush:php;toolbar:false">";
print_r($arra);echo "
";echo "
";
var_export($arra)echo "
";echo "
";
var_dump($arra);echo "
";
로그인 후 복사

print_r($arra) 출력

[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]
로그인 후 복사

var_export($arra) 출력

'[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]'
로그인 후 복사

var_dump($arra) 출력

string '[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]' (length=84)
로그인 후 복사

위 내용은 디버깅 중 PHP의 echo print() print_r() var_dump() 차이점에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿