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. PHP函数补完:get_magic_quotes_gpc()
  2. PHP函数补完:error_reporting()
  3. PHP函数补完:preg_match()
  4. PHP函数补完:urlencode()
  5. PHP函数补完:array_multisort()
  6. PHP函数补完:array_splice()
  7. PHP函数补完:isset()
  8. PHP函数补完:getenv()
  9. PHP函数补完:header()
  10. PHP函数补完:mysql_num_rows()
  11. PHP函数补完:list()
  12. PHP函数补完:mysql_query()
  13. PHP函数补完:mysql_fetch_array()
  14. PHP函数补完:number_format()
  15. PHP函数补完:explode()
  16. PHP函数补完:call_user_func()
  17. PHP函数补完:ImageCopyResamples()
  18. PHP函数补完:import_request_variables()
  19. PHP函数补完:parse_url()
  20. PHP函数补完:移除HTML标签strip_tags()
  21. PHP函数补完:输出数组结构与内容var_dump()
  22. PHP函数补完:var_export()
  23. PHP函数补完:判断变量是否为数字is_numeric()
  24. PHP函数补完:session_name()
  25. PHP函数补完:session_id()
  26. PHP函数补完:nl2br()与nl2p()函数
  27. PHP函数补完:shuffle()取数组若干个随机元素
  28. PHP函数补完:http_build_query()构造URL字符串
  29. PHP函数补完:stream_context_create()模拟POST/GET

var_export函数的使用方法的更多相关文章

  1. (MTT)连续能量函数最小化方法

    (MTT)连续能量函数最小化方法 Multitarget tracking Multi-object tracking 连续能量函数 读"A.Milan,S. Roth, K. Schind ...

  2. jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法

    jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法   在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...

  3. PHP使用内置函数生成图片的方法详解

    原文地址:http://www.poluoluo.com/jzxy/201605/475301.html 本文实例讲述了PHP使用内置函数生成图片的方法.分享给大家供大家参考,具体如下: 第一步:创建 ...

  4. JAVA 主函数(主方法)

    主函数(主方法) 1.public     (访问修饰符,公共的)代表该类或者该方法访问权限是最大的 2.static    代表主函数随着类的加载而加载 3.void    代表主函数没有具体的返回 ...

  5. 【转】Linux时间函数之gettimeofday()函数之使用方法

    原文网址:http://blog.csdn.net/tigerjibo/article/details/7039434 一.gettimeofday()函数的使用方法: 1.简介: 在C语言中可以使用 ...

  6. objective-C学习笔记(四)函数成员:方法(函数)

    函数分为:  全局函数(C语言函数) 成员函数(OBJC方法):实例方法 “-” 和类方法“+”的区别 //这里要区别静态变量(类变量).全局函数.常量的区别 OBJC里面,所有方法默认为公有方法.没 ...

  7. splice()函数的使用方法

    splice()函数的使用方法,这是一个拗口的函数.用起来有点麻烦.图3所看到的是splice函数的功能.将一个列表插入到还有一个列表其中.list容器类定义了splice()函数的3个版本号: sp ...

  8. 模式识别 - libsvm该函数的调用方法 详细说明

    libsvm该函数的调用方法 详细说明 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26261173 须要载入(load)SVM ...

  9. 举例详解Python中的split()函数的使用方法

    这篇文章主要介绍了举例详解Python中的split()函数的使用方法,split()函数的使用是Python学习当中的基础知识,通常用于将字符串切片并转换为列表,需要的朋友可以参考下   函数:sp ...

随机推荐

  1. Pyzo -- 好用的 Python 轻量级 IDE

    近期 yvivid 使用 Python 进行科学计算类应用(如matlab部分应用场景) 比较好的 发行版本为 Anaconda: A free distribution for the SciPy ...

  2. Request对象 --web浏览器向web服务端的请求

    一]Request对象常用方法        1)StringBuffer getRequestURL()            url表示访问web应用的完整路径            2)Stri ...

  3. 如何看懂XDEBUG+WEBGRIND?(转)

    看到一个很有用的东东,收藏.. http://blog.csdn.net/yukon12345/article/details/11408617 ~~~~~~~~~~ 使用:              ...

  4. MySQL常用时间函数

    官方文档:Date and Time Functions Name Description ADDDATE() Add time values (intervals) to a date value ...

  5. Struts2标签库之iterator

    传说中的第一种方式,这种在Struts2.1权威指南的例子中也木有说明白: <%@ page language="java" contentType="text/h ...

  6. codility上的问题 (19)Sigma 2012

    题目: 像最大直方图一样给定一个数组是每个单位长度上的高度,求至少几个矩形可以拼出这个形状. 例如:给出的数组 H[0] = 8 H[1] = 8 H[2] = 5 H[3] = 7 H[4] = 9 ...

  7. centerOS安装chkrootkit

    Chkrootkit是一个在本地系统检查rootkit痕迹的工具,它是检查系统二进制文件是否被rootkit病毒修改的一个shell脚本. (1)centerOS安装chkrootkit 安装gcc编 ...

  8. 文件夹65ad47d7-2e27-4a5c-b238-26643fdaeb98

    这几天发现电脑中毒了,本地开的服务预览页面时,页面会被插入Html代码.我用360扫描之后发现有木马病毒(c:\programData有个65ad47d7-2e27-4a5c-b238-26643fd ...

  9. JavaScript 克隆对象

    function clone(origin) { return Object.assign({}, origin); } let aClone = { ...a }; // 等同于 let aClon ...

  10. 盘点20款表现出众的HTML5游戏

    不管是对用户还是开发者来说,HTML5和JavaScript游戏这几年的发展真的是件好事.随着浏览器平台的日趋成熟,并开始整合这类型游戏所 要求的技术,我们每天都能在各大应用商店和社交网站中看到越来越 ...