print_r与var_dump的区别

$colors = array(‘red’, ‘blue’, ‘green’, ‘yellow’);
print_r($colors);
echo ‘<br>’;
var_dump($colors);

输出结果如下:
Array ( [0] => red [1] => blue [2] => green [3] => yellow )
array(4) { [0]=> string(3) “red” [1]=> string(4) “blue” [2]=> string(5) “green” [3]=> string(6) “yellow” }
var_dump 可以使用任何变量,包括字符串,数组,数字,对象,还指明变量的类型及长度。
void var_dump ( mixed expression [, mixed expression [, …]] )

此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
记住,print_r() 将把数组的指针移到最后边。
print_r和var_dump都能输出数组和对象,但print_r对布尔型的输出不太明显;var_dump输出比较详细,一般调试时用得多。