[php] var_dump, var_export 및 print_r의 차이점

무엇 사이의 차이 var_dump, var_export그리고 print_r?



답변

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_dumpprint_r이 있는지 확인합니다. var_export기본적으로 결과가 인쇄되지만 선택적$return매개 변수를 사용하여 대신 문자열로 반환 할 수 있습니다.

array (
  0 => '',
  1 => false,
  2 => 42,
  3 => array (0 => '42',),
)

개인적 var_export으로 간결하고 정확한 최고의 절충안 이라고 생각 합니다.


답변

var_dumpvar_export(로부터 이런 관한 설명서 )

var_export ()는 주어진 변수에 대한 구조화 된 정보를 얻습니다. var_dump ()와 유사하지만 한 가지 예외가 있습니다. 반환 된 표현은 유효한 PHP 코드입니다.

데이터 유형 및 요소 크기와 같은 추가 정보 print_rvar_dump내보내는 것과 다릅니다 .


답변