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

来源:互联网 发布:二战中国功劳排名 知乎 编辑:程序博客网 时间:2024/05/17 08:00
四种方法都可以输出字符串。 
echo print() printf() print_r() 1 echo可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。语法正确: echo "Hello", "World";语法错误: echo ("Hello", "World");2 print()函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。如, if (!print("Hello, World")){   die("you are not listening to me");}3 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;4 printf("With 2 decimals: %1\$.2fbr />With no decimals: %1\$u",$number);?>#ResultWith 2 decimals: 123.00 With no decimals: 123print_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()函数更适合调试。