2010-11-27 88 views
0

我想用PHP声明一个全局变量并在函数内部使用。从PHP中的函数内部访问全局变量

我曾尝试:

$var = "something"; 
function foo() 
{ 
    echo $var; 
} 

但我收到一个错误,指出$var是不确定的。

我该如何解决这个问题?

+0

建议的方法通常将是 “不这样做”,例如http://stackoverflow.com/questions/484635/are-global-variables-bad – 2010-11-28 06:05:14

回答

7
$var = "something"; 
function foo() 
{ 
    global $var; 
    echo $var; 
} 

当您需要使用在您的函数范围之外声明的变量时,使用术语“全局”。

5

PHP变量具有函数范围。即,函数内的变量不能从外部访问,全局变量不能(默认情况下)从函数内部访问。尽管在函数内使用关键字global来输入/输出变量是a解决方案,但不应该这样做。职能应该是独立的;如果你需要一个函数内的值,pass it as a parameter,如果函数需要修改全局值,那么return它们来自函数。

实施例:

function foo($arg) 
{ 
    echo $arg; 
} 
$var = "something"; 
foo($var); 

请看:http://php.net/manual/en/language.variables.scope.php

+1

+1依赖注入 – Gordon 2010-11-27 13:10:54