欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php中var_export與var_dump的區(qū)別分析

 更新時(shí)間:2010年08月21日 21:19:40   作者:  
php中var_export與var_dump的區(qū)別分析,在大多數(shù)情況下,多用var_dump來(lái)輸出,因?yàn)樗草敵隽藬?shù)據(jù)類(lèi)型。

一 var_dump
(PHP 3 >= 3.0.5, PHP 4, PHP 5)
var_dump -- 打印變量的相關(guān)信息
描述
void var_dump ( mixed expression [, mixed expression [, ...]] )

此函數(shù)顯示關(guān)于一個(gè)或多個(gè)表達(dá)式的結(jié)構(gòu)信息,包括表達(dá)式的類(lèi)型與值。數(shù)組將遞歸展開(kāi)值,通過(guò)縮進(jìn)顯示其結(jié)構(gòu)。

復(fù)制代碼 代碼如下:

$data = array ('name' => 'abc', 'job' => 'programmer','a'=>array('aa','cc','bb'));
$data = var_dump($data,TRUE);
echo $data;

輸出形式如下:
復(fù)制代碼 代碼如下:

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)

二 var_export
(PHP 4 >= 4.2.0, PHP 5)
var_export -- 輸出或返回一個(gè)變量的字符串表示
描述
mixed var_export ( mixed expression [, bool return] )

此函數(shù)返回關(guān)于傳遞給該函數(shù)的變量的結(jié)構(gòu)信息,它和 var_dump() 類(lèi)似,不同的是其返回的表示是合法的 PHP 代碼。
您可以通過(guò)將函數(shù)的第二個(gè)參數(shù)設(shè)置為 TRUE,從而返回變量的表示。
EG:
var_export(array('a','b',array('aa','bb','cc'))) 這種與VAR_DUMP沒(méi)什么區(qū)別;

$var =var_export(array('a','b',array('aa','bb','cc')),TRUE),加上TRUE后,不會(huì)再打印出來(lái),而是給了一個(gè)變量,這樣就可以直接輸出;
echo $var;此時(shí)輸出來(lái)的形式與var_dump()打印的相似。
EG2
復(fù)制代碼 代碼如下:

$data = array ('name' => 'abc', 'job' => 'programmer','a'=>array('aa','cc','bb'));
$data = var_export($data,TRUE);
echo $data;

輸出形式如下:
復(fù)制代碼 代碼如下:

array (
'name' => 'abc',
'job' => 'programmer',
'a' =>
array (
0 => 'aa',
1 => 'cc',
2 => 'bb',
),
)


以下是補(bǔ)充資料:
error_log(var_export(yblog_mspconfiginit("ratings"),true));
問(wèn)題原因
var_export必須返回合法的php代碼, 也就是說(shuō),var_export返回的代碼,可以直接當(dāng)作php代碼賦值個(gè)一個(gè)變量。而這個(gè)變量就會(huì)取得和被var_export一樣的類(lèi)型的值。但是, 當(dāng)變量類(lèi)型為resource的時(shí)候, 是無(wú)法簡(jiǎn)單copy復(fù)制的,所以, 當(dāng)var_export的變量是resource類(lèi)型時(shí), var_export會(huì)返回NULL.

問(wèn)題發(fā)現(xiàn)
在跟蹤yratings_get_targets的時(shí)候,
復(fù)制代碼 代碼如下:

error_log(var_export(yblog_mspconfiginit("ratings"),true));老是打印出yblog_mspconfiginit(“ratings”)的返回是NULL

導(dǎo)致我以為是無(wú)法建立和DB的連接,走錯(cuò)路了一天。

最后才發(fā)現(xiàn),這是var_export和var_dump的區(qū)別之一

這就是:

問(wèn)題原因
var_export必須返回合法的php代碼, 也就是說(shuō),var_export返回的代碼,可以直接當(dāng)作php代碼賦值個(gè)一個(gè)變量。 而這個(gè)變量就會(huì)取得和被var_export一樣的類(lèi)型的值

但是, 當(dāng)變量類(lèi)型為resource的時(shí)候, 是無(wú)法簡(jiǎn)單copy復(fù)制的,所以, 當(dāng)var_export的變量是resource類(lèi)型時(shí), var_export會(huì)返回NULL
實(shí)例
復(fù)制代碼 代碼如下:

$res = yblog_mspconfiginit("ratings");
var_dump($res);
var_export($res);

結(jié)果:
復(fù)制代碼 代碼如下:

resource(1) of type (yahoo_yblog)

NULL再比如:
復(fù)制代碼 代碼如下:

$res = fopen('status.html', 'r');
var_dump($res);
var_export($res);

結(jié)果:
復(fù)制代碼 代碼如下:

resource(2) of type (stream)
NULL

相關(guān)文章

  • php中關(guān)于換行的實(shí)例寫(xiě)法

    php中關(guān)于換行的實(shí)例寫(xiě)法

    在本篇文章里小編給大家分享的是關(guān)于php中關(guān)于換行的實(shí)例寫(xiě)法,正在學(xué)習(xí)PHP的朋友們可以參考下。
    2019-09-09
  • PHP中for循環(huán)與foreach的區(qū)別

    PHP中for循環(huán)與foreach的區(qū)別

    本文主要介紹了php中for循環(huán)與foreach的區(qū)別,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • sphinx增量索引的一個(gè)問(wèn)題

    sphinx增量索引的一個(gè)問(wèn)題

    很早使用coreseek來(lái)實(shí)現(xiàn)對(duì)內(nèi)容的搜索,并使用主索引+增量索引來(lái)實(shí)現(xiàn)新發(fā)的內(nèi)容很快能搜索到,使用一直挺穩(wěn)定。
    2011-06-06
  • PHP三層結(jié)構(gòu)(下) PHP實(shí)現(xiàn)AOP

    PHP三層結(jié)構(gòu)(下) PHP實(shí)現(xiàn)AOP

    讓我們把注意力集中到中間服務(wù)層上來(lái)。中間服務(wù)層代碼比較簡(jiǎn)單,只是調(diào)用數(shù)據(jù)訪問(wèn)層代碼將留言保存到數(shù)據(jù)庫(kù)。
    2010-07-07
  • PHP中文豎排轉(zhuǎn)換實(shí)現(xiàn)方法

    PHP中文豎排轉(zhuǎn)換實(shí)現(xiàn)方法

    這篇文章主要介紹了PHP中文豎排轉(zhuǎn)換實(shí)現(xiàn)方法,一般大家的閱讀習(xí)慣是一行行瀏覽,很少使用豎排進(jìn)行閱讀,本文介紹了PHP實(shí)現(xiàn)中文豎排轉(zhuǎn)換,感興趣的小伙伴們可以參考一下
    2015-10-10
  • php修改數(shù)組鍵名的方法示例

    php修改數(shù)組鍵名的方法示例

    這篇文章主要介紹了php修改數(shù)組鍵名的方法,涉及php針對(duì)數(shù)組的遍歷、截取、轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • 簡(jiǎn)單的移動(dòng)設(shè)備檢測(cè)PHP腳本代碼

    簡(jiǎn)單的移動(dòng)設(shè)備檢測(cè)PHP腳本代碼

    簡(jiǎn)單的移動(dòng)設(shè)備檢測(cè)PHP腳本代碼,需要的朋友可以參考下。
    2011-02-02
  • php實(shí)現(xiàn)事件監(jiān)聽(tīng)與觸發(fā)的方法

    php實(shí)現(xiàn)事件監(jiān)聽(tīng)與觸發(fā)的方法

    這篇文章主要介紹了php實(shí)現(xiàn)事件監(jiān)聽(tīng)與觸發(fā)的方法,可實(shí)現(xiàn)時(shí)間的綁定、觸發(fā)與注銷(xiāo)等功能,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11
  • php上傳文件的增強(qiáng)函數(shù)

    php上傳文件的增強(qiáng)函數(shù)

    php文件上傳的增強(qiáng)函數(shù)首先變得傻瓜簡(jiǎn)單化,但并不是該函數(shù)的簡(jiǎn)單化就影響他的超強(qiáng)功能,并且加上了強(qiáng)大的除錯(cuò)功能這是一函數(shù),當(dāng)然你可以把它變成一個(gè)類(lèi)的方法!
    2010-07-07
  • 對(duì)squid中refresh_pattern的一些理解和建議

    對(duì)squid中refresh_pattern的一些理解和建議

    用于確定一個(gè)頁(yè)面進(jìn)入cache后,它在cache中停留的時(shí)間。refresh_pattern規(guī)則僅僅應(yīng)用到?jīng)]有明確過(guò)時(shí)期限的響應(yīng)。原始服務(wù)器能使用Expires頭部,或者Cache-Control:max-age指令來(lái)指定過(guò)時(shí)期限。
    2009-04-04

最新評(píng)論