可能重复:
PHP中语言结构和内置函数的区别是什么? 我读过一本PHP编程书,书中说“像echo()和isset()这样的语言结构不能通过变量函数调用”,这是什么意思?
PHP中语言结构和内置函数的区别是什么? 我读过一本PHP编程书,书中说“像echo()和isset()这样的语言结构不能通过变量函数调用”,这是什么意思?
echo()
和isset()
(只是为了挑选其他PHP语言结构的例子)不能在变量函数中调用。
下面是一个变量函数的示例。
function foo() {
echo "foo";
}
$func1 = 'foo';
$func1(); // "foo" will be output
现在让我们尝试使用echo
:
$func2 = 'echo';
$func2(); // "Fatal error: Call to undefined function echo() on line 10"
echo()
不是一个函数,而是一种语言结构。它意味着你不能这样做:
$f = 'echo';
$f('hello world');
因为echo
不是一个函数(例如sprintf
),而是一个语言符号(例如if
)