本篇文章一直来学习PHP中所有用于输出信息的函数,分类比较来学习其相同点与不同点,掌握日常开发中必备的技巧。
开发就一定需要调试代码,而PHP调试代码不能像iOS那种编译器语言可以通过Xcode这样的开发软件来单步调试,因此开发PHP的人员通常会通过输出函数打印相关提示信息来调试代码。
echo
echo函数可以同时输出多个字符串,带多个参数,但并不要求使用圆括号,也没有返回值。但是,如果带上圆括号也没有问题的,因此函数本就需要圆括号的:
print函数同时只能输出一个字符串,只能带一个参数,需要带圆括号而且会有返回值。当其执行失败时返flase。
');
print函数使用也是相当多的,用于打印信息,不过没有echo那么方便,但它有它的用处!
printf
printf函数带有两个参数,第一个参数是指定输出格式,第二个参数是要输出的变量。输出格式为:
%s: 按字符串; %d: 按整型; %b: 按二进制; %x: 按16进制; %o: 按八进制; $f: 按浮点型
',$var); printf('浮点型:%.2f
',$var); // 保留两位小数 printf('字符串:%s
',$var); printf('二进制:%b
',$var); printf('八进制:%o
',$var); printf('十六进制:%x
',$var);
// 打印结果
/
整型:10
浮点型:10.00
字符串:10
二进制:1010
八进制:12
十六进制:a
/
sprintf
sprintf不能直接输出变量值,而是直接将值读取给指定的变量:
";
print_r
print_r这个函数用于输出数组,带一个或者两个。如果参数二设置为YES,则不会输出表达式信息,而是直接return回来:
mixed print_r ( mixed $expression [,bool $return = false ] )
';
// 参数二设置为true则不会打印,而是直接返回
$arr1 = print_r($arr,true);
echo "{$arr1}
";
var_dump
var_dump这个函数在调试过程中使用最多了吧,用于输出变量的内容、类型、字符串的内容,常用于开发中调试使用:
');
// 当只有对象本身时,打印出来如下:
// " array(2) { ["name"]=> string(21) "标哥的技术博客" ["site"]=> string(19) "www.huangyibiao.com" }
var_dump($arr);
die
die函数使用也是很广泛的,在调试过程中,经常会中断下面的执行,它会先输出内容,然后退出程序或者不输出内容:
'); }
总结:
以上函数都可以打印对象的值、系统函数值以及数组的内容; echo 、print、printf可以打印变量内容,但不能显示数组及系统超级变量数组; print_r 和 var_dump不仅可以打印数组、标量变量,还可以打印对象的内容; var_dump语句不仅能打印变量、数组内容,还可以显示布尔变量和资源(resource)的内容; var_export 函数返回关于传递给该函数的变量的结构信息,和 var_dump()函数类似,不同的是其返回的内容是合法的PHP代码。