이 기사는 주로 PHP에서 var_export와 var_dump의 차이점에 대한 분석을 공유합니다.
var_dump (PHP 3 >= 3.0.5, PHP 4, PHP 5)
var_dump -- 변수에 대한 정보 인쇄
Description
void var_dump ( mixed expression [, mixed expression [, ...]] )
이 함수는 하나 이상의 표현식에 대한 구조를 표시합니다. 표현식의 유형과 값을 포함합니다. 배열은 값을 재귀적으로 확장하여 들여쓰기를 통해 구조를 표시합니다.
코드는 다음과 같습니다.
$data = array ('name' => 'abc', 'job' => 'programmer','a'=>array('aa','cc','bb')); $data = var_dump($data,TRUE); echo $data;
출력 형식은 다음과 같습니다.
array(3) { ["name"]=> string(3) "abc" ["job"]=> string(10) "programmer" ["a"]=> array(3) { [0]=> string(2) "aa" [1]=> string(2) "cc" [2]=> string(2) "bb" } } bool(true)
twovar_export
(PHP 4 >= 4.2.0, PHP 5) var_export -- 输出或返回一个变量的字符串表示 描述 mixed var_export ( mixed expression [, bool return] )
이 함수는 함수에 전달된 변수에 대한 구조적 정보를 반환합니다. var_dump()와 유사합니다. 반환한다는 점을 제외하면 합법적인 PHP 코드를 나타냅니다.
함수의 두 번째 매개변수를 TRUE로 설정하면 변수 표현을 반환할 수 있습니다.
EG:
var_export(array('a','b',array('aa','bb','cc'))) 这种与VAR_DUMP没什么区别; $var =var_export(array('a','b',array('aa','bb','cc')),TRUE),加上TRUE后,不会再打印出来,而是给了一个变量,这样就可以直接输出; echo $var;此时输出来的形式与var_dump()打印的相似。
EG2
$data = array ('name' => 'abc', 'job' => 'programmer','a'=>array('aa','cc','bb')); $data = var_export($data,TRUE); echo $data;
출력 형식은 다음과 같습니다.
array ( 'name' => 'abc', 'job' => 'programmer', 'a' => array ( 0 => 'aa', 1 => 'cc', 2 => 'bb', ), )
다음은 보충 정보입니다.
error_log(var_export(yblog_mspconfiginit("ratings"),true));
문제 원인
var_export는 합법적인 PHP 코드를 반환해야 합니다. , var_export 반환 코드는 PHP 코드로 직접 사용하여 변수를 할당할 수 있습니다. 그리고 이 변수는 var_export와 동일한 유형의 값을 얻습니다. 하지만 변수 유형이 리소스인 경우에는 단순히 복사할 수 없습니다. 따라서 var_export의 변수가 리소스 유형인 경우 var_export는 NULL을 반환합니다.
문제 발견
yatings_get_targets를 추적할 때
error_log(var_export(yblog_mspconfiginit("ratings"),true));老是打印出yblog_mspconfiginit(“ratings”)的返回是NULL
가 발생한다고 생각했습니다. DB와의 연결이 불가능해서 하루동안 엉뚱한 길로 들어갔습니다.
마지막으로 이것이 var_export와 var_dump의 차이점 중 하나라는 것을 발견했습니다
이것은:
문제의 원인
var_export는 합법적인 PHP 코드를 반환해야 합니다. 즉, var_export가 반환한 코드는 PHP로 직접 할당될 수 있습니다. 코드. 그리고 이 변수는 var_export와 동일한 유형의 값을 가져옵니다. 그러나 변수 유형이 리소스인 경우 단순히 복사할 수 없습니다. 따라서 var_export의 변수가 리소스 유형인 경우 var_export는 NULL
$res = yblog_mspconfiginit("ratings"); var_dump($res); var_export($res);
resource(1) of type (yahoo_yblog)
$res = fopen('status.html', 'r'); var_dump($res); var_export($res);
resource(2) of type (stream) NULL
var_export 함수 요약 및 Var_dump 비교
var_export 및 var_dump 사용법 소개_PHP 튜토리얼
위 내용은 PHP에서 var_export와 var_dump의 차이점 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!