来自php.net:
echo 实际上不是一个函数(它是一种语言结构),因此您不需要使用括号。
如果要向 echo 传递多个参数,则不能将参数括在括号内。
示例(截至PHP 5.4.14
):
<?php
header('Content-Type: text/plain');
echo(1); // < works fine
echo(1, 2, 3); // < Parse error: syntax error, unexpected ',' on line 6
echo 1; // < works fine
echo 1, 2, 3; // < works fine
?>
UPDv1:
注意:因为这是一种语言结构而不是函数,所以不能使用变量函数来调用它。
<?php
header('Content-Type: text/plain');
$print = 'print_r';
$print(1); // < works fine
$echo = 'echo';
$echo(1); // < Fatal error: Call to undefined function echo() on line 8
?>
UPDv2:
从include
(同样适用于require
,require_once
和include_once
)开始,它可能有一个返回值。例如:
文件A.php:
<?php return 1; ?>
文件B.php:
<?php return 'abc'; ?>
测试:
<?php
header('Content-Type: text/plain');
echo (include 'fileA.php'); // one way
echo PHP_EOL;
echo include('fileB.php'); // another way
?>
显示:
1
abc
在php.net的示例#4和#5中提到了它。
因为 like 表达式include 'fileA.php' == 'OK'
并不明显(根据运算符优先级),您应该将它们括在括号中,或使用“类似函数”的方法:(include 'fileA.php') == 'OK'
或include('fileA.php') == 'OK'
。