Var_dump、 var_export 和 print_r 之间的区别

var_dumpvar_exportprint_r之间有什么区别?

46869 次浏览

var_dumpvar_export是这样关联的(来自 手动操作)

Var _ export ()得到结构化 关于给定变量的信息。 它类似于 var _ dump () 异常: 返回的表示形式 是有效的 PHP 代码。

它们不同于 print_rvar_dump输出更多的信息,比如数据类型和元素的大小。

Var _ dump 用于调试目的。

// 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打印结果,但是允许使用可选的 $return参数以字符串形式返回。

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

Var _ export 打印有效的 php 代码。如果您计算了一些值并希望将结果作为另一个脚本中的常量,则使用。注意,var_export不能处理引用循环/递归数组,而 var_dumpprint_r检查这些循环/递归数组。默认情况下,var_export打印结果,但是允许使用可选的 $return参数以字符串形式返回。

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

就个人而言,我认为 var_export是最好的折衷简洁和精确。