常见的输出语句
echo(): 可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。
print(): 函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。
print_r(): 可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印" "。因此用var_dump()函数更适合调试。
var_dump(): 判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
可以这么说,凡是有一个可以使用的地方,另一个也可以使用。但是,两者之间也还是一个非常重要的区别:
在 echo 函数中,可以同时输出多个字符串,而在 print 函数中则只可以同时输出一个字符串。同时,echo函数并不需要圆括号,所以echo函数更像是语句而不像是函数。
echo 和 print 都不是函数,而是语言结构,所以圆括号都不是必需的。他们的区别在于:
(1) echo可以输出多个字符串,像下面这样:
echo 'a','b','c';
如果你非要加上圆括号,注意写成echo ('a','b','c');是错误的,应该写成:
echo ('a'),('b'),('c');
它没有像函数的行为,所以不能用于函数的上下文
(2) print只能输出一个字符串,它可以表现得像一个函数,比如你可以如下使用:
$ret = print 'Hello World';
所有它能用在更复杂的表达式中。
另外,echo的效率相对比较快~
如下代码:
<?php
$a='hello ';$b='php world!';echo
$a,$b.'<br />';//echo 可以用逗号分隔字符串变量来显示print $a.$b.'<br
/>';//而print不能使用逗号,只能用点号分隔,print $a,$b.'<br />';//使用逗号时报错。
?>
echo 命令和 print 命令 相同,没有区别
echo 函数 和 print 函数 有区别。
echo() 无返回值,与echo 命令相同
print() 有返回值,成功,返1,false,返0.
printf() 和 sprintf() 类似,均为格式化输出,不同的是前者输出到标准输出,后者输出到变量
形如
echo <<< EOT
EOT;
print <<< EOT
EOT;
的书写格式,其含义如下:
<<< 运算符,将由自定义分界符间的内容视为字符串,可对其间的变量做处理
EOT 自定义分界符,结束时必须位于行首