2011-08-23 140 views
1

所以我有這樣的網站結構。我有index.php,其中包括()include.php,其中包括functions.php和一堆其他文件。 我想要做的是寫$GLOBALS["something"] = 'something here';functions.php和做echo $something;index.php所以它會打印something here,但由於某種原因,它什麼都沒有返回。我的錯誤在哪裏?跨多個文件的PHP全局變量問題

+1

嘗試使用vardump打印$ GLOBALS併發布輸出。 – evotopid

+1

發佈一些實際的代碼,我們將能夠更輕鬆地提供幫助。 –

+0

編寫乾淨的代碼,而不是使用全局變量。 – KingCrunch

回答

3

index.php中,您必須說echo $GLOBALS['something']global $something; echo $something;才能將$something註冊爲全局變量。

但是,我會勸阻使用全局變量,而不是使用常量,如果你必須。

+0

這是我試過的,但是echo $ GLOBALS ['something']仍然沒有輸出。我很感激你對常量的建議,但我現在堅持全局。 – Treat

+0

@Treat:你確定包含文件,並且在使用它們的代碼之前註冊的全局變量被調用? – NikiC

+0

@NikiC當你這樣問我時,我明白全局變量是在一個函數中定義的,並將它們移到一個函數之外,現在它們在index.php中給出輸出。有沒有辦法在函數中定義它們,並仍然在index.php中獲得輸出? – Treat