PHP var_dump,var_export和print_r的区别

var_dump

var_dump用于debug,它会输出结果里数据的类型。

var_dump(array('', false, 42, array('42')));

输出结果

array(4) {
[0]=> string(0) ""
[1]=> bool(false)
[2]=> int(42)
[3]=> array(1) {[0]=>string(2) "42")}
}

print_r

print_r也是用于debug,与var_dump不同的是,它不会输出结果数据的类型。print_r提供了$return参数用来指示print_r返回内容,而不是直接打印出来。

print_r()打印上面的数组,输出内容如下:

Array (
[0] =>
[1] =>
[2] => 42
[3] => Array ([0] => 42)
)

var_export 

var_export输出或者返回变量可以解析的字符串,如果要返回而不是输出,把$return参数设置为TRUE。与前面两个不同的是,它返回的内容是合法的php代码。

var_export输出上面数组如下:

array (
0 => '',
2 => false,
2 => 42,
3 => array (0 => '42',),
)

版权声明:著作权归作者所有。

相关推荐

Java 10 var的使用及限制

在Java 10的众多特性里,局部变量的类型推断是比较受大家关注的特性之一。这里简单介绍下它的使用以及限制。在Java 7,声明一个列表我们会这样做:List<String> list = new ArrayList<String>(); Java 8/9可以改写为:List<String>&

Java 10:类型推断局部变量var

Java 10将新增特性:类型推断的局部变量声明var。java9以及之前的版本,声明一个局部变量需要显式声明它的类型。Java 10引入了新的变量声明关键词var,使用它不需要我们显式声明局部变量的类型,它会自动推断出局部变量的类型。Java 9示例:import java.util.*; public class Java9&nbs

PHP7设置和删除cookie

PHP设置和删除cookie都是使用setcookie函数:bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bo

Linux Shell脚本里的单引号和双引号的区别

双引号在Shell脚本里,双引号里的字符,除$、\、’、和”这几个字符是特殊字符并保留其特殊功能外,其余字符作为普通字符对待。在双引号内支持内插变量,使用$符号表示。支持内插转义,使用反斜杠\做转,对于在双引号内的"需要使用反斜杠转义。单引号在Shell脚本里,单引号内的字符都为普通字符,不支持内插任何东西,即使是使用反斜杠对单引号做的转义也不行。示例:#!/bin/sh MYVAR=t