P粉6172377272023-08-25 09:32:59
你可以在程式碼區塊中使用它(循環,條件語句),但不能在函數內使用。如果要在函數內使用它,你需要使用global
關鍵字:
$user_info ....... //在外部声明 function foo(){ global $user_info // 现在也可以在这里使用 // 更多代码 }
P粉4669094492023-08-25 09:01:17
您將太多的意義放在了php程式碼區塊中。
這不是一個全局的東西。
這些區塊屬於同一個PHP腳本。這只是一種漂亮的輸出HTML的方式,沒有其他意義。您可以用echo HTML來取代它,沒有任何區別。
整個PHP腳本一次執行,不是以迭代方式執行,就像您可能想像的那樣,認為PHP區塊在伺服器端執行,然後HTML區塊在客戶端執行,然後再回到伺服器端執行PHP區塊,依此類推。這是錯誤的。
整個PHP腳本在伺服器端執行,結果在瀏覽器中顯示純HTML,然後結束。
這就是為什麼您不能在同一個PHP腳本中同時編寫HTML表單和其處理程序,只需將後者放在前者之後。您必須再次呼叫伺服器才能使處理程序運作。這將是完全另一個調用,同一個腳本的另一個實例,對先前的調用一無所知,先前的調用早已結束。這也是您必須了解的PHP的另一件事:
PHP腳本的執行是原子的。它不像桌面應用程式在瀏覽器中持續運行,甚至不像與桌面應用程式保持持久連接的守護程式。它更像是一個命令行實用程式-完成工作並退出。它離散地運行: