2013-04-04 196 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