php5中var_export的使用

随意看了一下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;
}

 

 

可以看到

var_export

 

 

解释下

 

var_export

(PHP 4 >= 4.2.0, PHP 5)

var_export -- 输出或返回一个变量的字符串表示

描述

mixed var_export ( mixed expression [, bool return])

此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。

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

比较 var_export()var_dump() .

 

<pre>
<?php
$a = array ( 1 , 2 , array ( "a" , "b" , "c" ));
var_export ( $a );

/* 输出:
array (
  0 => 1,
  1 => 2,
  2 =>
  array (
   0 => 'a',
   1 => 'b',
   2 => 'c',
  ),
)
*/

$b = 3.1 ;
$v = var_export ( $b , TRUE );
echo $v ;

/* 输出:
3.1
*/
?>
</pre>
 

 

 

你可能感兴趣的:(C++,c,PHP,cache,C#)