이 글은 주로 PHP에서 var_export, print_r, var_dump 디버깅의 차이점을 소개합니다. 매우 훌륭하고 참고할 만한 가치가 있습니다. 필요한 친구들이 참고할 수 있습니다.
code
code
$n = "test"; var_export($n); print_r($n); var_dump($n); echo '-----------------' . '<br/><br/>'; file_put_contents("index.log", var_export($n, true) . PHP_EOL, FILE_APPEND); file_put_contents("index.log", print_r($n, true) . PHP_EOL, FILE_APPEND); file_put_contents("index.log", var_dump($n) . PHP_EOL, FILE_APPEND);
Result
(1) 프런트엔드:
'test' test /Users/xjnotxj/Program/PhpstormProject/colin/index.php:9:string 'test' (길이=4) --- -- ------------ /Users/xjnotxj/Program/PhpstormProject/colin/index.php:15:string 'test' (길이=4)
(2) index.log:
'테스트' test
2, 출력 배열
code
$arr = array( "a" => 1, "b" => "222", "c" => 3, ); var_export($arr); print_r($arr); var_dump($arr); echo '-----------------' . '<br/><br/>'; file_put_contents("index.log", var_export($arr, true) . PHP_EOL, FILE_APPEND); file_put_contents("index.log", print_r($arr, true) . PHP_EOL, FILE_APPEND); file_put_contents("index.log", var_dump($arr) . PHP_EOL, FILE_APPEND);
result
(1) 프런트 엔드:
array ( 'a' => 1, 'b' = > ' 222', 'c' => 3, ) 배열 ( [a] => 1 [b] => 222 [c] => 3 ) /Users/xjnotxj/Program/PhpstormProject/colin/ index.php :13: 배열 (크기=3) 'a' => int 1 'b' => 문자열 '222' (길이=3) 'c' => --- ------- /Users/xjnotxj/Program/PhpstormProject/colin/index.php:19: 배열 (크기=3) 'a' => int 1 'b' => '(길이 = 3) 'C' = & GT; Int 3
(2) Index.log:
array ( 'a' => 1, 'b' => '222', 'c' => 3, ) Array ( [a] => 1 [b] => 222 [c] => 3 )E
3, 출력 개체
코드
class foo { public $n; public function do_foo() { echo "Doing foo." . $this->n; } } $object = new foo; var_export($object); print_r($object); var_dump($object); echo '-----------------' . '<br/><br/>'; file_put_contents("index.log", var_export($object, true) . PHP_EOL, FILE_APPEND); file_put_contents("index.log", print_r($object, true) . PHP_EOL, FILE_APPEND); file_put_contents("index.log", var_dump($object) . PHP_EOL, FILE_APPEND);
결과
(1) 프런트엔드:
foo::__set_state(array( 'n' => NULL, ))
foo 개체 ( [n] => )
/Users/xjnotxj/Program/PhpstormProject/colin/index .php:19 : object(foo)[1] public 'n' => null ----------------- /Users/xjnotxj/Program/PhpstormProject/colin/index.php :25: object(foo)[1] public 'n' => null
(2) index.log:
foo::__set_state(array( 'n' => NULL, )) foo Object ( [n] => )
요약:
1. print_r < var_dump
2. 디버깅 시 var_export, print_r, var_dump 호출 시 앞에 echo를 추가할 필요가 없습니다.
3. var_export 및 print_r의 두 번째 매개변수가 true이면 값이 반환됩니다. var_dump는 지원하지 않으므로 file_put_contents를 사용하여 디버깅을 출력할 때 var_dump를 사용하지 마십시오.
4 자세한 디버깅 정보와 코드 줄 위치 지정을 얻으려면 개발 환경에서 디버깅에 var_dump를 직접 사용하는 것이 좋습니다. 프로덕션 환경에서 디버깅하려면 var_export 또는 print_r을 사용하세요. 프런트엔드 영향선에 직접 출력하는 대신 값을 출력합니다.
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!
관련 권장 사항:
PHP를 사용하여 중국어 병음 변환 및 양력 및 음력 변환 구현
PHP의 move_uploaded_file() 함수 분석 정보
위 내용은 PHP 디버깅 시 var_export, print_r 및 var_dump의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!