【发布时间】:2014-10-01 00:08:36
【问题描述】:
为了在函数之外使用变量,我必须这样做:
<?php
$a = 1;
$b = 2;
function Sum()
{
global $a, $b;
$b = $a + $b;
}
Sum();
echo $b;
?>
如果有很多全局变量,我只是希望它们都在函数内的局部范围内?如果不在每个函数的开头维护一长串全局声明,我该如何做到这一点?我不关心最佳实践,也不关心它可能被视为危险的所有原因。
【问题讨论】:
-
全局变量表明你做错了。但如果你必须...
$GLOBALS['a'] -
是的,我想这是可能的。不过,我不想像这样遍历每个变量并为每个变量添加前缀。
-
你可以做
extract($GLOBALS);,但这是一个非常糟糕的主意,并且可能会中断,因为$GLOBALS本身就是一个全局变量,因此是递归的。
标签: php function scope global-variables