PHP的全局变量

我们先来看一个例子:

<?php  
$domain = 'mzwu.com';
function write()
{
    echo $domain;
}
write();
?>

这个脚本不会有任何输出,因为 echo 语句引用了一个局部版本的变量 $domain,而且在这个范围内,它并没有被赋值。你可能注意到 PHP 的全局变量和 VBScript、JavaScript、C# 有一些不同,在 VBScript、JavaScript、C# 中,全局变量在函数中自动生效,除非被局部变量覆盖。这可能引起一些问题,有些人可能漫不经心的改变一个全局变量。PHP 中全局变量在函数中使用时必须申明为全局。

以下两种方式可以在函数中使用全局变量:

<?php
$domain = 'mzwu.com';
function write()
{
    echo $GLOBALS['domain'];
}
write();
?>

<?php
$domain = 'mzwu.com';
function write()
{
    global $domain;
    echo $domain;
}
write();
?>

当然,我们也可以在函数中声明一个全局变量在全局作用域内使用:

<?php
function write()
{
    global $domain;
    $domain = 'mzwu.com';
}
write();
echo $domain.'<br/>';
echo $GLOBALS['domain'].'<br/>';
?>


评论: 0 | 引用: 0 | 查看次数: 4870
发表评论
登录后再发表评论!