php中print(),print_r(),echo()的区别详解
echo是PHP语句,print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
print() 只能打印出简单类型变量的值(如int,string)
print_r()可以打印出复杂类型变量的值(如数组,对象)
echo 输出一个或者多个字符串
print--输出一个字符串
Description
intprint(stringarg)//返回值为整形
print"你好朋友";
可以进行下面操作
$name=print"nihao\n"; $str='testprintvalueis$name.'; eval_r("\$print=\"$str\";"); echo$print;
print_r--打印关于变量的易于理解的信息。
boolprint_r(mixedexpression_r[,boolreturn])//返回值是布尔型的,参数是mix类型的,可以是字符串,整形,数组,对象类print_r()显示关于一个变量的易于理解的信息。如果给出的是string、integer或float,将打印变量值本身。如果给出的是array,将会按照一定格式显示键和元素。object与数组类似。
print_r()将把数组的指针移到最后边。
你可以
print_r(str); print_r(int); print_r(array); print_r(obj);
也可以用var_dumpvar_export
echo--输出一个或者多个字符串
Description
voidecho(stringarg1[,string...])//返回值为空
echo"你好","朋友";
总结:
PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但print有返回值,当其执行失败时返回flase。因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1。
$r=print"HelloWorld";
这意味着print可用在一些复杂的表达式中,而echo则不行。但是,因为echo语句不要求返回任何数值,所已在代码中echo语句的运行效率要略微快于print语句。
echo没有返回值;print有返回值,print的返回值总是1。