(PHP4, PHP5, PHP7)
print - 输出一个字符串
说明:
int print ( string $arg )
输出arg
print不是一个真实函数,它只是一种语言结构,因此不强制要求对参数列表使用括号括起来。
它与echo主要不同在于print只接收单个参数且总是返回1
参数:
arg - 输入数据
返回值:
总是返回1
实例:
#1 打印实例
<?php
print("Hello World");
print "print() also works without parentheses."; //无括号时仍然可用
print "This spans
multiple lines. The newlines will be
output as well"; // 可分行输出
print "This spans\nmultiple lines. The newlines will be\noutput as well."; // 使用\n分行
print "escaping characters is done \"Like this\"."; // 需要显示双引号字符"时需要在前面加反斜杠\
// 可在print语句内使用变量
$foo = "foobar";
$bar = "barbaz";
print "foo is $foo"; // $foo表示foobar
// 还可以使用数组
$bar = array("value" => "foo");
print "this is {$bar['value']} !"; // 这里$bar['value']表示foo
// 使用单引号只会打印出变量名,而不会打印出值
print 'foo is $foo'; // 输出是:foo is $foo
// 若不需要使用其他任何字符,可以只打印变量
print $foo; // 输出是:foobar
print <<<END
This uses the "here document" syntax to output
multiple lines with $variable interpolation. Note
that the here document terminator must appear on a
line with just a semicolon no extra whitespace!
END;
?>
注意:
由于只是一种语言结构而非函数,因此不能叫做使用变量函数。
还可参考:
echo - 输出一或多个字符串
printf() - 输出格式化字符串
flush() - 刷新系统输出缓冲区
用户注释:
#1 .net用户实例:
当使用print时需要格外小心,由于print只是一种语言结构而非函数,不强求将参数用括号括起来。
实际上,使用括号能与函数语法相混淆且应该将它省略。
大多数会做类似如下操作:
<?php
if (print("foo") && print("bar")) {
// "foo" and "bar" had been printed
}
?>
但是由于参数不强制使用括号括起来,因此它们后面部分也就有可能会被解析成为参数的一部分,这意味着第一个print输出可能为如下:
("foo") && print("bar")
而第二个print参数输出为:
("bar")
以上都会产生错误。
所以若想要得到期望的结果,需要写成如下方式:
<?php
if ((print "foo") && (print "bar")) {
// "foo" and "bar" had been printed
}
?>
类似以上问题在参考网页还有很多。
参考网页
来源:CSDN
作者:x-2010
链接:https://blog.csdn.net/huhaoxuan2010/article/details/80841982