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