PHP var_dump,var_export和print_r的区别

时间:2022-06-01 16:35:13

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',),
)