PHP-php全局变量global一个的问题

意见反馈 意见反馈 主题:991 回复:2082

PHP-php全局变量global一个的问题

晚风撩人 发布于 2017-09-03 字数 150 浏览 1088 回复 2

a.php

$a = "OK";   
function a()
{
global $a;
echo $a;
}

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(2

虐人心 2017-10-28 2 楼

他的这种写法,是要在执行B的时候才include("a.php");
如果在刚加载页面的时候就include("a.php"); 这个应该就可以输出了.

偏爱自由 2017-09-24 1 楼

global 只能引用(有人也称之为定义,这里使用 引用好理解)全局的变量,也就是说只能引用 $GLOBLAS 数组中存在的变量。

b.php 和c.php 可以看做下边两种写法:

function b() {
    $a = "OK";    //这个变量的作用域只在 函数 b 中
    function a() {
        global $a; //$GLOBALS['a'] 不存在,但是被global声明后的变量将是全局的
        echo $a;   //这里的$a 为 null
    }
    a();
}
b();

c.php:

$a = "OK";    //这里的$a 是全局的
function a() {
    global $a;    //$GLOBALS['a'] 存在
    echo $a;
}
function c() {
    a();
}
c();