Heim >php教程 >php手册 >var_export函数的使用方法,var_export使用方法

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

WBOY
WBOYOriginal
2016-06-13 09:20:01975Durchsuche

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;  
}  

延伸阅读

此文章所在专题列表如下:

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn