var_export() 函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。var_export必须返回合法的php代码, 也就是说,var_export返回的代码,可以直接当作php代码赋值个一个变量。 而这个变量就会取得和被var_export一样的类型的值。看下面一个简单的例子:

$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,从而返回变量的表示。

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

}

延伸阅读

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

php varexport,PHP函数补完:var_export()相关推荐

  1. JavaScript函数补完:toString()

    javascript中的toString()方法,主要用于Array.Boolean.Date.Error.Function.Number等对象.下面是这些方法的一些解析和简单应用,做个纪律,以作备忘 ...

  2. JavaScript函数补完:sort()排序

    JavaScript实现多维数组.对象数组排序,其实用的就是原生的sort()方法,用于对数组的元素进行排序. sort() 方法用于对数组的元素进行排序.语法如下: 1 arrayObject.so ...

  3. php name .id,PHP函数补完:session_name()

    session_start()是session机制的开始,它有一定概率开启垃圾回收,因为session是存放在文件中,PHP自身的垃圾回收是无效的,SESSION的回收是要删文件的,这个概率是根据ph ...

  4. 判断是否是数字类型php_PHP函数补完:判断变量是否为数字is_numeric()

    is_numeric - 检测变量是否为数字或数字字符串. 基本使用如下: $tests = array( "42", 1337, "1e4", "n ...

  5. php url 合法字符串_PHP函数补完:http_build_query()构造URL字符串

    简单来说,http_build_query()就是将一个数组转换成url 问号?后面的参数字符串,并且会自动进行urlencode处理. 还是引用一下官方的解释: http_build_query h ...

  6. 【机器学习】补完计划

    机器学习补完计划 发现之前的帖子太长了,拆了整理一下,理一理以前的笔记,其实代码实现和数学推导更加有助于理解 PS:任天堂特邀嘉宾来举例子 波克基斯.玛狃拉,比卡超 四个主要任务 分类(classif ...

  7. matlab估计arma残差,写给你的金融时间序列分析:补完篇

    摘要 本文介绍时间序列分析中的 GARCH 模型,阐述使用 mean model 和 volatility model 对收益率序列联合建模的方法. 1 引言 之前,我们推出了<写给你的时间序列 ...

  8. 停车场计费算法 php,停车场收费算法,思路卡住了求补完!该如何处理

    停车场收费算法,思路卡住了求补完!! 本帖最后由 bulls5988 于 2013-11-22 16:00:03 编辑 一个停车场算法,写了一半不会写了. 需求:员工停车卡.周一到周五,7:00~23 ...

  9. [TaskList] 省选前板子补完计划

    省选前本子补完计划 [ ] 带权并查集 [ ] 树上莫队 - UOJ58 [WC2013]糖果公园 loj2485「CEOI2017」Chase 转载于:https://www.cnblogs.com ...

最新文章

  1. Oracle Exadata 一体机关机过程(虚拟机环境)
  2. FTP服务器serv-u
  3. Sql2000命名中的’_’好象会引发问题
  4. CPU是怎样制造的?解析intel Core i7生产全过程
  5. Windows驱动开发学习笔记(五)—— SSDT HOOK
  6. Geospark加载PostgreSQL数据库
  7. Windows 10 版本 21H2 正式发布
  8. Android硬件访问服务框架思想初识
  9. java 日期 相差的天数_JAVA计算两个日期之间相差的天数
  10. 自己动手,开发项目辅助工具
  11. Adobe Acrobat的安装时出现:服务print spooler启动失败,请确认您有足够权限启动系统服务。解决方法...
  12. Error:Expected linebreaks to be ‘LF‘ but found ‘CRLF‘ linebreak-style
  13. Java I/O系统之处理流类型
  14. fckeditor代码总结
  15. macOS Mojave下解决wine中文乱码问题
  16. 海康录像机能用别的摄像头吗_海康威视录像机如何添加大华摄像头
  17. CNN手写汉字识别参数调整
  18. Android实现微信查看附近的人
  19. 【第一组】第十六次冲刺例会纪要
  20. scala学习之旅(十三):隐式转换和隐式参数

热门文章

  1. easyUI.checkForm
  2. linux加protobuf变量环境,protobuf简单介绍和ubuntu 16.04环境下安装教程
  3. oracle 系统检查点,检查点(Checkpoint)优化及故障排除指南
  4. RTT的IPC机制篇——信号
  5. RTT内核对象——对象理解
  6. C语言课后习题(43)
  7. 怪物猎人ol服务器维护,《怪物猎人OL》5月11日1:30全区全服维护内容公告
  8. 精彩回顾丨2021数据库大咖讲坛(第7期)视频PPT互动问答
  9. Oracle 创建磁盘组报错ORA-15137的问题分析与解决思路
  10. 送书丨《架构解密:从分布式到微服务》