php中var_dump()函數(shù)的詳解說明
來源:程序員人生 發(fā)布時(shí)間:2014-01-15 05:40:52 閱讀次數(shù):3906次
本文章給大家全面的介紹一下關(guān)于php中var_dump()函數(shù)用法詳解,大家可參考參考。
var_dump()
void var_dump ( mixed expression [, mixed expression [, ...]] )
var_dump()方法是判斷一個(gè)變量的類型與長度,并輸出變量的數(shù)值,如果變量有值輸?shù)氖亲兞康闹挡⒒胤禂?shù)據(jù)類型.
此函數(shù)顯示關(guān)于一個(gè)或多個(gè)表達(dá)式的結(jié)構(gòu)信息,包括表達(dá)式的類型與值。數(shù)組將遞歸展開值,通過縮進(jìn)顯示其結(jié)構(gòu)。
例1:
- $a = "alsdflasdf;a";
- $b = var_dump($a);
- echo "
- ";
-
- $d=var_dump($c);
- echo "
- ";
- echo $a;
- echo "
- ";
- echo $b;
- echo "
- ";
- 輸出:
- string(12) "alsdflasdf;a"
- NULL
- alsdflasdf;a
例2:1. var_dump() 示例
- $a = array (1, 2, array ("a", "b", "c"));
- var_dump ($a);
-
-
- $b = 3.1; $c = TRUE; var_dump($b,$c);
- ?>
var_export和serialize做數(shù)組緩存
$str = serialize($arr); 這兩種機(jī)制轉(zhuǎn)換之后的字符串是不一樣的,第一種是數(shù)組的原型模式,第二種是序列化后的形式。第一 種存入文件中的只要加上標(biāo)簽,就形式了一個(gè)可用的數(shù)組原型,對(duì)調(diào)用來說,不用轉(zhuǎn)換,直接返回這個(gè)數(shù)組就可以,但第二種,則需要再用一次unserialize函數(shù)反序 列化一下。對(duì)于第種一說,就多了一步操作。下來我們用數(shù)據(jù)說話吧:
- set_time_limit(50); $a = array(1,2,3); $b = array('a'=>1, 'b'=>2, 'c'=>3); $c = array('a'=>array(1,2,3), 'b'=>array(4,5,6));
- $time1 = microtime(true);
- $times = 1000000; #10w
- for($i=1; $i<=$times; $i++){ $A = var_export($a, true); }
- $time2 = microtime(true);
- for($i=1; $i<=$times; $i++){ $B = var_export($b, true); }
- $time3 = microtime(true);
- for($i=1; $i<=$times; $i++){ $C = var_export($c, true); }
- $time4 = microtime(true);
- for($i=1; $i<=$times; $i++){ $X = serialize($a); }
- $time5 = microtime(true);
- for($i=1; $i<=$times; $i++){ $Y = serialize($b); }
- $time6 = microtime(true);
- for($i=1; $i<=$times; $i++){ $Z = serialize($c); }
- $time7 = microtime(true);
- for($i=1; $i<=$times; $i++){ $O = unserialize($X); }
- $time8 = microtime(true);
- for($i=1; $i<=$times; $i++){ $P = unserialize($Y); }
- $time9 = microtime(true);
- for($i=1; $i<=$times; $i++){ $Q = unserialize($Z); } $time10 = microtime(true);
- $var_export_time['a'] = $time2 - $time1; $var_export_time['b'] = $time3 - $time2; $var_export_time['c'] = $time4 - $time3;
- $serialize_time['a'] = $time5 - $time4; $serialize_time['b'] = $time6 - $time5; $serialize_time['c'] = $time7 - $time6;
- $unserialize_time['a'] = $time8 - $time7; $unserialize_time['b'] = $time9 - $time8; $unserialize_time['c'] = $time10 - $time9; print_r($var_export_time); print_r($serialize_time); print_r($unserialize_time); ?> output: Array( [a] => 3.3401498794556 [b] => 5.1394801139832 [c] => 8.8483898639679)Array( [a] => 1.6063709259033 [b] => 1.7033960819244 [c] => 3.4534389972687)Array( [a] => 1.6037359237671 [b] => 1.817803144455 [c] => 3.7992968559265)
由上面數(shù)據(jù)說明: var_export函數(shù)性能比serialize函數(shù)性能差一倍,而 unserialize時(shí)間也需要和serialize差不多的時(shí)間,serialize加上unserialize時(shí)間,和用var_export時(shí)間 差不多。
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)