程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> var_export函數的使用方法,var_export使用方法

var_export函數的使用方法,var_export使用方法

編輯:關於PHP編程

var_export函數的使用方法,var_export使用方法


var_export() 函數返回關於傳遞給該函數的變量的結構信息,它和 var_dump() 類似,不同的是其返回的表示是合法的 PHP 代碼。var_export必須返回合法的php代碼, 也就是說,var_export返回的代碼,可以直接當作php代碼賦值個一個變量。 而這個變量就會取得和被var_export一樣的類型的值。看下面一個簡單的例子:

<?php
	
	$arr = array ( 1 , 2 , array ( "apple" , "banana" , "orange" ));  
	var_export ( $arr );  
	
?>

程序輸出:

array (
  0 => 1,
  1 => 2,
  2 => 
  array (
    0 => 'apple',
    1 => 'banana',
    2 => 'orange',
  ),
)

注意,上面的輸出是合法的PHP代碼。假如用var_dump(),則輸出為:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  array(3) {
    [0]=>
    string(5) "apple"
    [1]=>
    string(6) "banana"
    [2]=>
    string(6) "orange"
  }
}

可以通過將函數的第二個參數設置為 TRUE,從而返回變量的表示。

<?php
	
	$v = 'nowamagic';  
	$rs = var_export ( $v, TRUE );  
	
	echo $rs;
?>

程序運行結果:

'nowamagic'

注意兩點:

  • var_export()會一直保留著結構化形式存儲數據.
  • 但是特別請記住:此時的變量值的類型已是字符串了($var),不能再以數組的方式取出裡面的值來。 

在PHPCMS的源碼裡,可以看到很多配置的參數都用數組記錄的,包括它們的頻道、內容等等。

function cache_write($file, $string, $type = 'array')  
{  
    if(is_array($string))  
    {  
        $type = strtolower($type);  
        if($type == 'array')  
        {  
            $string = "<?php\n return ".var_export($string,TRUE).";\n?>";  
        }  
        elseif($type == 'constant')  
        {  
            $data='';  
            foreach($string as $key => $value) $data .= "define('".strtoupper($key)."','".  
addslashes($value)."');\n";  
            $string = "<?php\n".$data."\n?>";  
        }  
    }  
    $strlen = file_put_contents(PHPCMS_CACHEDIR.$file, $string);  
    chmod(PHPCMS_CACHEDIR.$file, 0777);  
    return $strlen;  
}  

延伸閱讀

此文章所在專題列表如下:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved