我的代码是这样的:
<?
$a="localhost";
function body(){
global $a;
echo $a;
}
function head(){
global $a;
echo $a;
}
function footer(){
global $a;
echo $a;
}
?>
有没有办法在一个地方定义全局变量,并同时在所有函数中访问变量$a
?而不用更多地使用global $a;
?
发布于 2012-11-23 21:55:51
如果变量不打算更改,则可以使用define
示例:
define('FOOTER_CONTENT', 'Hello I\'m an awesome footer!');
function footer()
{
echo FOOTER_CONTENT;
}
发布于 2018-03-29 01:09:54
如果变量是在函数外部声明的,那么它已经在全局作用域中了。所以不需要声明。但是您调用此变量的位置必须有权访问此变量。如果从函数内部调用,则必须使用global
关键字:
$variable = 5;
function name()
{
global $variable;
$value = $variable + 5;
return $value;
}
在函数外部使用全局关键字并不是错误的。如果希望在函数中包含此文件,可以将变量声明为global
。
// config.php
global $variable;
$variable = 5;
// other.php
function name()
{
require_once __DIR__ . '/config.php';
}
您也可以使用$GLOBALS
。它是超全球的,所以它可以在任何地方访问。
$GLOBALS['variable'] = 5;
function name()
{
echo $GLOBALS['variable'];
}
根据您的选择,您可以选择其中任何一个。
发布于 2012-11-23 21:55:58
将变量添加到$GLOBALS超级全局数组中,如下所示
$GLOBALS['variable'] = 'localhost';
并在全球范围内使用它
或者,您可以使用常量,它可以在整个脚本中访问
define('HOSTNAME', 'localhost');
https://stackoverflow.com/questions/13530465
复制相似问题