输出打印函数:echo、print、print_r()、printf()、sprintf()、var_dump()、var_export()
1)echo、print
相同:
-
都不是函数,而是语言结构。
-
可以不用括号
-
无法输出数组
不同:
-
echo接受多个参数;print仅接受一个返回值
-
echo没有返回值;print始终返回1
2)printf()、sprintf()
相同:都具有format格式,无法输出数组
不同:printf()是输出;sprintf()是返回
3)print_r()、var_dump()、var_export()
相同:显示对象的 protected 和 private 属性。不会显示静态类成员。可以输出数组
不同:
-
print_r()可输出(默认)可返回,由第二个参数($return)控制
print_r(mixed $value, bool $return = false)
,false输出,true返回 -
print_r()如果是指定 string、int 或 float,会直接打印值本身。如果是指定 array,值将以键和元素的格式显示。object 也一样。
-
var_dump():显示关于一个或多个表达式的结构信息、对象的所有公共、私有和受保护的属性都会在输出中返回
-
var_export():与var_dump()类似,但返回的表示是合法的 PHP 代码