답변:
var_dump 는 디버깅 목적입니다. var_dump
항상 결과를 인쇄합니다.
// var_dump(array('', false, 42, array('42')));
array(4) {
[0]=> string(0) ""
[1]=> bool(false)
[2]=> int(42)
[3]=> array(1) {[0]=>string(2) "42")}
}
print_r 도 디버깅 목적으로 사용되지만 멤버 유형은 포함하지 않습니다. 배열의 요소 유형을 알고 있으면 사용하는 것이 좋지만 그렇지 않으면 오도 할 수 있습니다. print_r
기본적으로 결과가 인쇄되지만 선택적$return
매개 변수를 사용하여 대신 문자열로 반환 할 수 있습니다.
Array (
[0] =>
[1] =>
[2] => 42
[3] => Array ([0] => 42)
)
var_export 는 유효한 PHP 코드를 인쇄합니다. 일부 값을 계산하고 결과를 다른 스크립트에서 상수로 사용하려는 경우에 유용합니다. 참고var_export
참고주기 / 재귀 배열을 처리하는 반면, 수var_dump
및print_r
이 있는지 확인합니다. var_export
기본적으로 결과가 인쇄되지만 선택적$return
매개 변수를 사용하여 대신 문자열로 반환 할 수 있습니다.
array (
0 => '',
1 => false,
2 => 42,
3 => array (0 => '42',),
)
개인적 var_export
으로 간결하고 정확한 최고의 절충안 이라고 생각 합니다.
var_export
의 특성, 음, 재귀 배열에 끔찍한 재귀 죽음을 죽을 것 때문에. print_r
및 var_dump
(하지만하지 완벽하게 확인, 후자에 대해 나는 보통 사용하지 않기 때문에) 그 문제가 없습니다. var_export($_GLOBALS);
예를 들어 (자체를 포함하는) 하지 마십시오 . :)
var_dump
출력을 선호 합니다. 너무 나쁘면 출력을 문자열로 반환 할 수 없습니다. 따라서 위의 의견에서 @iconoclast의 정서와 관련이 있습니다. 그러나 선택하는 데 var_export
이상 var_dump
이 사용 사례에 대한 것이 나에게 허용됩니다. 완전성을 위해이 관련 기능 요청을 참고하십시오 .