据我所知,如果你在一个带有'global'关键字的php函数中声明一个变量,它将引用一个在函数外声明的变量,但为什么php程序员想要在函数作用域之外声明一个变量为'global ?谢谢!
我理解这是做什么的:
<?
$a = 1;
function $boo() {
global $a;
echo $a;
}
?>
但我得到的是为什么我要这样做?
<?
global $a;
function $boo() {
//foo
}
?>
答案 0 :(得分:2)
它与php范围有关 如果您的文件a.php具有类似这样的类
<?
class test()
{
function test()
{
include('b.php');
}
}
?>
和文件b.php
<?
$a = 1;
?>
然后$ a只能在function test()
的范围内访问如果你在b.php中有global $a
,那么$ a就会变成一个全局变量
这是关于它的php文档:http://php.net/manual/en/function.include.php
答案 1 :(得分:0)
我不知道你为什么要那样做。对于所有意图和目的(除非我非常非常错误),这与以下内容完全相同:
<?
var $a;
function $boo() {
// foo
}
?>
反过来与
完全相同<?
function $boo() {
// foo
}
?>
因为您通常不必在PHP中实例化变量。
非常好奇为什么你使用可变命名的函数呢? (function $boo() {}
)
答案 2 :(得分:0)