本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。
php打印输出的区别是什么
一、打印处理
print(); // 输出字符串
printf(); // 输出格式化字符串
print_r(); // 以易于理解的格式打印变量
echo;
sprintf(); // 返回格式化字符串
var_dump(); // 打印变量的相关信息
var_export();// 输出或返回一个变量的字符串表示
二、区别
1、print 和 echo 的区别
print 和 echo 都是语言结构;
print 在打印的时候,只能打印一个变量,而 echo 可以打印多个变量,如果同时打印多个,中间用逗号隔开,效率更高【推荐使用】。
2、printf() 和 sprintf() 的区别
printf() 可以根据格式进行输出,会直接输出到缓存区;
sprintf() 会返回,不会输出。
3、print_r() 和 var_dump() 的区别
print_r() 会将数组/对象进行格式化好,并打印出来【帮助我们进行排查一些错误或结果】;
var_dump()也有 print_r() 的功能,且 var_dump() 还会将每一个的类型显示出来。
根本区别:
如:打印 FALSE, print_r() 什么都不会有,只相当于是 echo 了一个 FALSE,什么都没有;print_r() 如果打印一个 TRUE,结果不是 true 而是 1,因此在一些结果的判断中,会有一些误差,则【推荐使用 var_dump()】。
4、var_export 与 var_dump() 的区别
var_export() 是将内容(如将一个数组)进行格式化并输出,当然也可以给后面的参数一个 true,这样会变成返回;
对于 var_export()来说,它返回的值 符合PHP的语法结构(如可以把它打印出来的一个字符串,作为PHP的语法结构来使用),而 var_dump()不可以,var_dump()只是帮我们进行 debug,来查看一下 我们的错误信息 或者是 结果信息。