国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php中var_dump()函數的詳解說明

2024-09-04 11:48:45
字體:
來源:轉載
供稿:網友

本文章給大家全面的介紹一下關于php中var_dump()函數用法詳解,大家可參考參考.

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

var_dump()方法是判斷一個變量的類型與長度,并輸出變量的數值,如果變量有值輸的是變量的值并回返數據類型,此函數顯示關于一個或多個表達式的結構信息,包括表達式的類型與值,數組將遞歸展開值,通過縮進顯示其結構.

例1,代碼如下:

  1. <?php 
  2. $a = "alsdflasdf;a"
  3. $b = var_dump($a); 
  4. echo "<br>"
  5. //var_dump($c); 
  6. $d=var_dump($c); 
  7. echo "<br>"
  8. echo $a
  9. echo "<br>"
  10. echo $b
  11. echo "<br>"
  12. //輸出: 
  13. string(12) "alsdflasdf;a" 
  14. NULL 
  15. alsdflasdf;a 

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

  1. <?php 
  2. $a = array (1, 2, array ("a""b""c")); 
  3. var_dump ($a); 
  4. /* 輸出: 
  5. array(3) { 
  6.   [0]=> 
  7.   int(1) 
  8.   [1]=> 
  9.   int(2) 
  10.   [2]=> 
  11.   array(3) { 
  12.     [0]=> 
  13.     string(1) "a" 
  14.     [1]=> 
  15.     string(1) "b" 
  16.     [2]=> 
  17.     string(1) "c" 
  18.   } 
  19. } 
  20. */ 
  21. $b = 3.1; 
  22. $c = TRUE; 
  23. var_dump($b,$c); 
  24. /* 輸出: 
  25. float(3.1) 
  26. bool(true) 
  27. */ 
  28. ?> 

var_export和serialize做數組緩存

$str = serialize($arr);

這兩種機制轉換之后的字符串是不一樣的,第一種是數組的原型模式,第二種是序列化后的形式,第一 種存入文件中的只要加上<?php ?>標簽,就形式了一個可用的數組原型,對調用來說,不用轉換,直接返回這個數組就可以,但第二種,則需要再用一次unserialize函數反序列化一下,對于第一種說,就多了一步操作,下來我們用數據說話吧,代碼如下:

  1. <?php 
  2. set_time_limit(50); 
  3. $a = array(1,2,3); 
  4. $b = array('a'=>1, 'b'=>2, 'c'=>3); 
  5. $c = array('a'=>array(1,2,3), 'b'=>array(4,5,6)); 
  6.  
  7. $time1 = microtime(true); 
  8.  
  9. $times = 1000000; #10w 
  10.  
  11. for($i=1; $i<=$times$i++){ 
  12.  $A = var_export($a, true); 
  13.  
  14. $time2 = microtime(true); 
  15.  
  16. for($i=1; $i<=$times$i++){ 
  17.  $B = var_export($b, true); 
  18.  
  19. $time3 = microtime(true); 
  20.  
  21. for($i=1; $i<=$times$i++){ 
  22.  $C = var_export($c, true); 
  23.  
  24. $time4 = microtime(true); 
  25.  
  26. for($i=1; $i<=$times$i++){ 
  27.  $X = serialize($a); 
  28.  
  29. $time5 = microtime(true); 
  30.  
  31. for($i=1; $i<=$times$i++){ 
  32.  $Y = serialize($b); 
  33.  
  34. $time6 = microtime(true); 
  35.  
  36. for($i=1; $i<=$times$i++){ 
  37.  $Z = serialize($c); 
  38.  
  39. $time7 = microtime(true); 
  40.  
  41. for($i=1; $i<=$times$i++){ 
  42.  $O = unserialize($X); 
  43.  
  44. $time8 = microtime(true); 
  45.  
  46. for($i=1; $i<=$times$i++){ 
  47.  $P = unserialize($Y); 
  48.  
  49. $time9 = microtime(true); 
  50.  
  51. for($i=1; $i<=$times$i++){ 
  52.  $Q = unserialize($Z); 
  53. $time10 = microtime(true); 
  54.  
  55. $var_export_time['a'] = $time2 - $time1
  56. $var_export_time['b'] = $time3 - $time2
  57. $var_export_time['c'] = $time4 - $time3
  58.  
  59. $serialize_time['a'] = $time5 - $time4
  60. $serialize_time['b'] = $time6 - $time5
  61. $serialize_time['c'] = $time7 - $time6
  62.  
  63. $unserialize_time['a'] = $time8 - $time7
  64. $unserialize_time['b'] = $time9 - $time8
  65. $unserialize_time['c'] = $time10 - $time9
  66. print_r($var_export_time); 
  67. print_r($serialize_time); 
  68. print_r($unserialize_time); 
  69. ?> 
  70. //output: 
  71. //開源代碼Vevb.com 
  72. 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時間差不多.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定襄县| 调兵山市| 阳西县| 嘉鱼县| 东明县| 福清市| 文山县| 南投市| 鹤峰县| 靖宇县| 彰化县| 江津市| 兴山县| 宽甸| 浮梁县| 惠水县| 扎赉特旗| 南岸区| 扶风县| 奉贤区| 古田县| 北海市| 马山县| 遂平县| 怀化市| 凤凰县| 赣榆县| 武清区| 彝良县| 广南县| 莆田市| 元谋县| 江山市| 镇沅| 日照市| 察雅县| 长白| 色达县| 自治县| 安乡县| 翼城县|