PHP返回变量或数组的字符串表示:var_export()
2017-06-23 17:14
337 查看
使用var_export()函数可以在服务端程序没有在打印的情况下,配合file_put_contents方便的调试程序,查看变量和数组的内容。
在开发过程中,我们常用var_dump()来打印数组内容,但有时候我们不方便通过浏览器查看调试信息,这时候可以将信息输出到文件中查看,var_export()可以打印或返回变量的字符串表示,返回值是一个字符串,形式类似var_dump()打印的字符串,使用var_export()可以将POST、GET和SESSION等数据写入文件,方便查看。
下面是php文档中的描述:
简而言之,第二个参数为TRUE时,有返回值,不打印;为FALSE时,打印变量,默认为FALSE
下面的示例使用var_export()将变量转换成字符串后输出:
var_export()返回的是合法的php代码,非常方便生成配置文件或缓存文件,下面用简单的缓存文件示例来讲一下:
我们的缓存文件cache.php内容如下:
调用缓存文件的时候只需要使用require()即可将缓存文件的内容复制给一个变量:
缓存文件中的数组赋值给了$cache变量,phpcms的缓存文件就是采用这种方式的缓存。
在开发过程中,我们常用var_dump()来打印数组内容,但有时候我们不方便通过浏览器查看调试信息,这时候可以将信息输出到文件中查看,var_export()可以打印或返回变量的字符串表示,返回值是一个字符串,形式类似var_dump()打印的字符串,使用var_export()可以将POST、GET和SESSION等数据写入文件,方便查看。
下面是php文档中的描述:
mixed var_export ( mixed $expression [, bool $return ] ) |
此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。 您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。 |
简而言之,第二个参数为TRUE时,有返回值,不打印;为FALSE时,打印变量,默认为FALSE
下面的示例使用var_export()将变量转换成字符串后输出:
<?php $num = 255; $str = 'abc def'; $bool = true; $arr = array('value1', 'value2', 1, 'key1'=>'value3', 'key2'=>array(2, 3)); echo var_export($num, TRUE); echo "\n"; echo var_export($str, TRUE); echo "\n"; echo var_export($bool, TRUE); echo "\n"; echo var_export($arr, TRUE); echo "\n"; /*输出 255 'abc def' true array ( 0 => 'value1', 1 => 'value2', 2 => 1, 'key1' => 'value3', 'key2' => array ( 0 => 2, 1 => 3, ), )
var_export()返回的是合法的php代码,非常方便生成配置文件或缓存文件,下面用简单的缓存文件示例来讲一下:
<?php //$cache的值是更新缓存时从数据库中取出来的 $cache = array( 'LOG_RECORD' => false, 'LOG_TYPE' => 'File', 'LOG_LEVEL' => 'EMERG,ALERT,CRIT,ERR', 'LOG_FILE_SIZE' => 2097152, 'LOG_EXCEPTION_RECORD' => false, ); //将从数据库中读到的数据写入缓存文件 $content = "<?php\nreturn ".var_export($cache); //这里使用var_export() file_put_contents('./cache.php', $content);
我们的缓存文件cache.php内容如下:
<?php return array( 'LOG_RECORD' => false, 'LOG_TYPE' => 'File', 'LOG_LEVEL' => 'EMERG,ALERT,CRIT,ERR', 'LOG_FILE_SIZE' => 2097152, 'LOG_EXCEPTION_RECORD' => false, );
调用缓存文件的时候只需要使用require()即可将缓存文件的内容复制给一个变量:
<?php $cache = require('./cache.php');
缓存文件中的数组赋值给了$cache变量,phpcms的缓存文件就是采用这种方式的缓存。
相关文章推荐
- PHP返回变量或数组的字符串表示:var_export()
- PHP返回变量或数组的字符串表示:var_export()
- var_export-输出或返回一个变量的字符串表示
- php中var_export,serialize对数组进行缓存
- PHP数组缓存:三种方式JSON、序列化和var_export的比较
- 打印返回php var_dump和var_export
- PHP之【变量的数据类型(重点是字符串和数组)】
- PHP获取数组表示的路径方法分析【数组转字符串】[原创]_php技巧_脚本之家
- PHP中用var_export和serialize做数组缓存的性能测试
- php语法基础(一)- 变量、常变量、函数、分支和循环、字符串、数组、类、时间、日期、包含文件、文件及图片读写等
- PHP中用var_export和serialize做数组缓存的性能测试
- PHP数组缓存:三种方式JSON、序列化和var_export的比较
- php 查找数组中是否存在某项,并返回指定的字符串,可用于检查复选,单选等
- PHP学习笔记-1(变量、常量、类型、作用域、数组、字符串、大小写)
- JSON PHP中返回JSON数据(多个JSON通过一个大的数组组合成一个JSON字符串),在客户端解析JSON数据减轻服务端压力
- 实习日志-php-分别用print_r,var_dump,var_export打印数组
- PHP 为你提供一个叫__toString() 的函数,你可以用它来返回表示对象的字符串信息,而且一旦定义它,打印命令将调用它并打印出返回的字符串。
- Linq学习__03__数据源是IEnumerable<T> 变量,Concat,匿名类,数组下标,返回字符串,group by,orderby
- PHP 数组原形打印var_export() 数组类型打印var_dump()
- php中字符串引用变量或数组