示例1:這裏我期望函數hello必須位於全局範圍內。 但根據我的預期它不會有相同的行爲。它不會將函數hello放入全局範圍。在運行時,php必須將函數hello放入全局範圍。它說未定義的函數hello()。示例2:現在作爲示例1之後,我假設下面的腳本也必須作爲示例1工作。我認爲它也會給錯誤未定義的函數bar()。但現在在這裏它的行爲有所不同,並執行欄。php如何解析和解釋函數範圍
foo();
bar();
function foo()
{
function bar()
{
echo "I don't exist until foo() is called.\n";
}
}
所以我無法獲得概念PHP解釋器內部的行爲。它如何解析程序,並且它是一次執行一個步驟還是一次執行整個程序?
我已經閱讀過此手冊。我知道你在說什麼。但事情是,我想知道它將如何解釋這兩個例子使用哈希表和堆棧。我想知道內部。意味着php如何運行時間 –