首頁  >  文章  >  後端開發  >  php var_export與var_dump 輸出的不同你知道嗎?

php var_export與var_dump 輸出的不同你知道嗎?

怪我咯
怪我咯原創
2017-07-06 10:08:561171瀏覽

var_export必須回傳合法的php程式碼,也就是說,var_export回傳的程式碼,可以直接當作php程式碼賦值個一個變數。 而這個變數就會取得和被var_export一樣的類型的值

問題發現
在追蹤yratings_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一樣的類型的值

但是, 當變數類型為resource的時候,是無法簡單copy複製的,所以, 當var_export的變數是resource型別時, var_export會傳回NULL

#實例

$res = yblog_mspconfiginit("ratings");
var_dump($res);
var_export($res);结果:
resource(1) of type (yahoo_yblog)
NULL再比如:
$res = fopen('status.html', 'r');
var_dump($res);
var_export($res);结果:
resource(2) of type (stream)
NULL


###############################################

以上是php var_export與var_dump 輸出的不同你知道嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn