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

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

WBOY
Release: 2016-06-13 09:20:01
Original
974 people have browsed it

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 );  
	
?>
Copy after login

程序输出:

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

注意,上面的输出是合法的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"
  }
}
Copy after login

可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。

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

程序运行结果:

'nowamagic'
Copy after login

注意两点:

  • 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;  
}  
Copy after login

延伸阅读

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template