PHP中echo(),print(),print-r()的区别是什么?

问题描述:

PHP中echo(),print(),print_r()的区别是什么?
1个回答 分类:综合 2014-11-12

问题解答:

我来补答
四种方法可以输出字符串.echo
print()
printf()
print_r()
echo
可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用.
语法正确:echo "Hello","World";
语法错误:echo ("Hello","World");
print()
函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false.如,if (!print("Hello,World")){
die("you are not listening to me");
}
printf()
printf()源于C语言中的printf().该函数输出格式化的字符串.
语法:printf(format,arg1,arg2,arg++)
format 规定字符串以及如何格式化其中的变量;
arg1,arg2,++ 等参数将插入到主字符串中的百分号 (%) 符号处.该函数是逐步执行的.在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推.
Example:php
$str = "Hello";
$number = 123;
printf("%s world.Day number %u",$str,$number);
#Results======
Hello world.Day number 123
如果 % 符号多于 arg 参数,则您必须使用占位符.占位符被插入 % 符号之后,由数字和 "\$" 组成.请参见例子 3.
Example:php
$number = 123;
printf("With 2 decimals:%1\$.2fbr />With no decimals:%1\$u",$number);
#Result
With 2 decimals:123.00
With no decimals:123
print_r()和var_dump()
print_r()可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头.如,$a = array('name' => 'Fred','age' => '15','wife' => 'Wilma');
print_r($a);
Output:Array
{
[name] => Fred
[age] => 15
[wife] => Wilma
}
对象也一样.如,class P {
var $name = 'nat';
// ...
}
$p = new P;
print_r($p);
Output:Object
{
[name] => nat
}
但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n".因此用var_dump()函数更适合调试.
有点乱,建议你整理一下,写到网页编辑器里,好好分析一下,祝你好运啊!
一年好运随春到 四季彩云滚滚来 万事如意
 
 
展开全文阅读
剩余:2000