php dump函数详解,php中var_dump()函数的详解说明

本文章给大家全面的介绍一下关于php中var_dump()函数用法详解,大家可参考参考.

var_dump()void var_dump ( mixed expression [, mixed expression [, …]] )

var_dump()方法是判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型,此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值,数组将递归展开值,通过缩进显示其结构.

例1,代码如下:

$a="alsdflasdf;a";

$b= var_dump($a);

echo"
";

//var_dump($c);

$d=var_dump($c);

echo"
";

echo$a;

echo"
";

echo$b;

echo"
";

//输出:

string(12) "alsdflasdf;a"

NULL

alsdflasdf;a

例2,var_dump() 示例,代码如下:

$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函数反序列化一下,对于第一种说,就多了一步操作,下来我们用数据说话吧,代码如下:

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.com

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时间差不多.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值