2013-04-04 137 views
-1

我很难找出这在PHP中。函数内使用全局变量?

我有一个名为$ user的变量来保存用户名。

在我的功能,我需要利用这个变量:

function test($message) { 
    echo "user: $user, message: $message"; 
} 

我只知道如何我打电话它每次路过$用户的功能做到这一点,但我在我无法做到这一点的特殊情况。那么,我怎样才能使用一个定义在我的函数外部的变量呢?

+2

查看全球。 http://php.net/manual/en/language.variables.scope.php – j08691 2013-04-04 03:06:05

回答

2

我尽量避免使用全局变量。但$GLOBALS['user']将从您的函数内部返回全局值$user。或者如果您使用global $user;,则将从您的函数中的全局值定义$user

+0

为什么避免它们是一个好主意?只是想知道 – lisovaccaro 2013-04-06 03:16:12

+0

主要原因是当应用程序增长并变大时,它会污染命名空间。类和函数被构建为包含逻辑和变量集合。如果你使用不使用这种做法,变量将开始重叠并导致问题(你怎么能记住你的应用程序中的每个变量?)。 http://c2.com/cgi/wiki?GlobalVariablesAreBad – Sam 2013-04-06 16:17:16