php中var_dump、var_export和print_r的用法区别
2016-01-15 16:02
816 查看
void var_dump ( mixed $expression [, mixed $... ] )
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。在PHP5里,所有的public、private和protected属性都会被返回输出。
-------------------------------------------------------------
mixed var_export ( mixed $expression [, bool $return ] )
输出或返回一个变量的字符串表示。此函数返回关于传递给改函数的变量的结构信息,它和var_dump()类似,不同的是其返回的表示是合法的PHP代码。
当第二个参数设置位TRUE,可以将返回的变量表示复制给一个变量。
var_export在处理一些递归的结构时会报错,但var_dump不会,因为它可以避免递归的引用。比如:var_export($GLOBALS);会报错,var_dump($GLOBALS);则可以运行。
-------------------------------------------------------------
bool print_r ( mixed $expression [, bool $return ] )
显示关于变量的易于理解的信息。如果给出的事string、integer或float,将打印变量值本身。如果给出的事array,将会按照一定的格式显示键和元素。object与数组类似。记住,print_r()将把数组的指针移到最后边,使用reset()可让指针回到开始处。第二个参数设置为TRUE则可以返回为字符串,可以赋值给变量。
下面对比下三者对数组的输出
下面对比下三者对变量的输出
-------------------------------------------------------------
下面对比下三者对资源的输出
-------------------------------------------------------------
下面对比下三者对布尔变量的输出
-------------------------------------------------------------
下面对比下三者对对象的输出
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。在PHP5里,所有的public、private和protected属性都会被返回输出。
-------------------------------------------------------------
mixed var_export ( mixed $expression [, bool $return ] )
输出或返回一个变量的字符串表示。此函数返回关于传递给改函数的变量的结构信息,它和var_dump()类似,不同的是其返回的表示是合法的PHP代码。
当第二个参数设置位TRUE,可以将返回的变量表示复制给一个变量。
var_export在处理一些递归的结构时会报错,但var_dump不会,因为它可以避免递归的引用。比如:var_export($GLOBALS);会报错,var_dump($GLOBALS);则可以运行。
-------------------------------------------------------------
bool print_r ( mixed $expression [, bool $return ] )
显示关于变量的易于理解的信息。如果给出的事string、integer或float,将打印变量值本身。如果给出的事array,将会按照一定的格式显示键和元素。object与数组类似。记住,print_r()将把数组的指针移到最后边,使用reset()可让指针回到开始处。第二个参数设置为TRUE则可以返回为字符串,可以赋值给变量。
下面对比下三者对数组的输出
$array = array(1, 2, array('a', 'b', 'c')); var_export($array); /* 输出: array ( 0 => 1, 1 => 2, 2 => array ( 0 => 'a', 1 => 'b', 2 => 'c', ), ) */ print_r($array); /* 输出: Array ( [0] => 1 [1] => 2 [2] => Array ( [0] => a [1] => b [2] => c ) ) */ var_dump($array); /* 输出: array (size=3) 0 => int 1 1 => int 2 2 => array (size=3) 0 => string 'a' (length=1) 1 => string 'b' (length=1) 2 => string 'c' (length=1) */
下面对比下三者对变量的输出
$var = 'string'; var_dump($var); /* 输出: string 'string' (length=6) */ var_export($var); /* 输出: 'string' */ print_r($var); /* 输出: string */
-------------------------------------------------------------
下面对比下三者对资源的输出
$handle = fopen('log.txt', 'r'); var_dump($handle); /* 输出: resource(3, stream) */ var_export($handle); /* 输出: NULL */ print_r($handle); /* 输出: Resource id #3 */
-------------------------------------------------------------
下面对比下三者对布尔变量的输出
$a = TRUE; var_dump($a); /* 输出: boolean true */ var_export($a); /* 输出: true */ print_r($a); /* 输出: 1 */
-------------------------------------------------------------
下面对比下三者对对象的输出
$obj = new obj(); var_dump($obj); /* 输出: object(b)[1] private 'data' => null */ var_export($obj); /* 输出: obj::__set_state(array( 'data' => NULL, )) */ print_r($obj); /* 输出: obj Object ( [data:obj:private] => ) */
相关文章推荐
- Thinkphp 后台返回JSON,前台转化为对象
- laravel使用mysql队列
- PHP内置函数getimagesize()的漏洞
- php简易增删改查
- php上传图片
- PHP 7 探针的安装与测试
- PHP 7 探针的安装与测试
- php str_replace技巧-避免重复替换
- php常用类和方法(笔记)
- Yii框架操作方法
- PHP的Socket通信之UDP篇
- php socket函数详解
- PHP调试环境搭建:wampserver2.4+zend studio12.0.1+Xdebug
- 2416开发记录六: s3c2410_gpio_setpin()系列函数
- Zend Studio 12 安装及破解
- ftp cmd dir问题
- 本机php环境搭建教程:windows环境下wampserver的配置教程——超级详细
- ThinkPHP 导出csv格式文档
- .net ftp上传文件方法
- Sublime text 2/3 [Decode error - output not utf-8] 完美解决方法