最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

php中的各种打印输出函数汇集总结教程

来源:http://erdangjiade.com/topic/2902.html 你好,世界。 2017-09-25 22:42浏览(9)

开发就一定需要调试代码,而PHP调试代码不能像iOS那种编译器语言可以通过Xcode这样的开发软件来单步调试,因此开发PHP的人员通常会通过输出函数打印相关提示信息来调试代码。

PHP中常用的打印输出的函数一步步讲解

echo

echo函数可以同时输出多个字符串,带多个参数,但并不要求使用圆括号,也没有返回值。但是,如果带上圆括号也没有问题的,因此函数本就需要圆括号的:

echo '技术博客<br>';
echo ('echo也可以带括号<br>');

相信echo函数是使用最多的打印函数了吧!

print

print函数同时只能输出一个字符串,只能带一个参数,需要带圆括号而且会有返回值。当其执行失败时返flase。

print('www.erdangjiade.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' => 'www.erdangjiade.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) "www.erdangjiade.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代码。

以上就是php中的各种打印输出函数汇总的详细内容,更多请关注二当家的素材网其它相关文章!

评论0
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

1 2