var export 與 var dump的不同

2021-10-06 03:20:19 字數 2126 閱讀 2044

此函式返回關於傳遞給該函式的變數的結構資訊,它和 var_dump() 類似,不同的是其返回的表示是合法的 php **。

比較:var_dump 直接輸出,如果 var_export,不設定第2個引數為true的話,也是直接輸出,輸出和var_dump差不多;

但是如果 var_export 第2個引數設定為true的話,就不會輸出了,而是返回字串的變數的表示。如果要輸出的話,用echo

如:

$arr = [1,2,3];

$var = var_export($arr, true);

echo $var;

var_dump 只輸出,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

var_export,函式的第二個引數設定為 true,從而返回變數的表示, 不設定第2個引數,效果則和var_dump()一樣,純是輸出.

//將整個檔案讀入乙個字串

$xmldata = file_get_contents("php://input");

$xmldata = (array)******xml_load_string($xmldata);

//var_export,函式的第二個引數設定為 true,從而返回變數的表示

$arr = var_export($xmldata,true);

//file_get_contents: 將乙個字串寫入檔案。該函式將返回寫入到檔案內資料的位元組數,失敗時返回false

$ret = file_put_contents('output.log', $arr);

if (false == $ret)

echo $data;

output.log 內容如下

array (

'sha1' => '111',

'user_id' => '222',

'album_id' => '333',

'album_name' => '444',

'tags' => '555',

'title' => '666',

'content' => '777',

'type' => '8888',

)

file_put_content 不能直接將陣列寫入檔案,而是先把陣列變成字串,再寫入。var_export,第2個引數設定為true,就是

PHP函式補完 var export

var export 函式返回關於傳遞給該 函式的變數的結構資訊,它和 var dump 類似,不同的是其返回的表示是合法的 php var export必須返回合法的php 也就是說,var export返回的 可以直接當作php 賦值個乙個變數。而這個變數就會取得和被var export一樣的型...

php 建立短位址 var export

提交頁面 shorten.php 處理頁面 show.php include functions.php include shorturls.php entry post submit url post url output if entry shorten url and url else out...

PHP 格式化字串列印var export

var export 函式用於輸出或返回乙個變數,以字串形式表示。var export 函式返回關於傳遞給該函式的變數的結構資訊,它和 var dump 類似,不同的是其返回的是乙個合法的 php php 版本要求 php 4 4.2.0,php 5,php 7 mixed var export m...