2011-08-23 142 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