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