php中var_dump()函数的详解说明
本文章给大家全面的介绍一下关于php中var_dump()函数用法详解,大家可参考参考.
var_dump() void var_dump ( mixed expression [, mixed expression [, ...]] )
var_dump()方法是判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型,此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值,数组将递归展开值,通过缩进显示其结构.
例1,代码如下:
<?php $a = "alsdflasdf;a" ; $b = var_dump( $a ); echo "<br>" ; //var_dump($c); $d =var_dump( $c ); echo "<br>" ; echo $a ; echo "<br>" ; echo $b ; echo "<br>" ; //输出: string(12) "alsdflasdf;a" NULL alsdflasdf;a例2,var_dump() 示例,代码如下:
<?php $a = array (1, 2, array ( "a" , "b" , "c" )); var_dump ( $a ); /* 输出: array(3) { [0]=> int(1) [1]=> int(2) [2]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } } */ $b = 3.1; $c = TRUE; var_dump( $b , $c ); /* 输出: float(3.1) bool(true) */ ?>var_export和serialize做数组缓存
$str = serialize($arr);
这两种机制转换之后的字符串是不一样的,第一种是数组的原型模式,第二种是序列化后的形式,第一 种存入文件中的只要加上<?php ?>标签,就形式了一个可用的数组原型,对调用来说,不用转换,直接返回这个数组就可以,但第二种,则需要再用一次unserialize函数反序列化一下,对于第一种说,就多了一步操作,下来我们用数据说话吧,代码如下:
<?php 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: //开源代码phpfensi测试数据 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)由上面数据说明:
var_export函数性能比serialize函数性能差一倍,而 unserialize时间也需要和serialize差不多的时间,serialize加上unserialize时间,和用var_export时间差不多.
查看更多关于php中var_dump()函数的详解说明 - php函数的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did31047