[原创]PHP中使用超全局变量定义取代global

jackxiang 2008-12-31 10:06 | |
可以用使用超全局变量定义( $_POST,$_GET,$_SESSION,$_COOKIE,$_SERVER,$_FILES,$_REQUEST,$_ENV

)呀 无需使用global声明了
如:
$_GET[‘val’] = 1;
function echoVal() {
    echo $_GET[\'val\'];
}


方法二:
先在config.inc.php里定义常量:define(常量名,常量值)
再在其他需要用到的地方require 'config.inc.php',




使用 global

<?PHP
$temp1 = 1;
$temp2 = 2;
function SumAll()
{
  global $temp1, $temp2;
  $temp2 = $temp1 + $temp2;
}
SumAll();
echo $temp2;
?>

结果为:3
以上脚本的输出将是“3”.在函数中申明了全局变量 $temp1和$temp2,任何变量的所有引用变量都会指向到全局变量.
在全局范围内访问变量的第二个办法,是用特殊的 PHP 自定义 $GLOBALS 数组。前面的例子可以写成:
使用 $GLOBALS 替代 global

<?PHP
$temp1 = 1;
$temp2 = 2;
function Sum()
{
  $GLOBALS['temp2'] = $GLOBALS['temp1'] + $GLOBALS['temp2'];
}
Sum();
echo $temp2;
?>

在 $GLOBALS 数组中,每一个变量为一个元素,键名对应变量名,值对应变量的内容.$GLOBALS 之所以在全局范围内存在,是因为$GLOBALS 是一个超全局变量.
在PHP中使用全局变量的数量也没有限制。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/1549/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2008-12-31 10:11
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]