【发布时间】:2013-02-26 09:59:30
【问题描述】:
我想知道 PHP 引擎解释函数声明的顺序。我不知道为什么 somethimes PHP 显示 Call to undefined function 致命错误,而 somethimes 解释器看到该函数没有问题。
假设我的代码是:
echo theRest(4,3);
function theRest($a, $b)
{
return $a % $b;
}
看到函数是在调用后声明的,这可以正常工作。这意味着PHP在解释之前读取了整个文件?
另一个例子:
echo theRest(4,3);
include('test2.php');
test2.php
function theRest($a, $b)
{
return $a % $b;
}
这里出现致命错误:调用未定义函数 theRest()。这是为什么?
【问题讨论】:
-
删除了我之前的帖子,因为第一个帖子在我的机器上运行。 (我得到了 1)希望有人也能提供答案。
-
看看这个Question会不会是类似的问题?而且,顺便说一句,如果您只是将
include('test2.php');行放在该函数之前,PHP 是否会给您任何错误?你知道,只是为了尝试一下:) -
YourLanguageSucks wiki 页面上提到了这一点