全局修饰符在函数的变量范围内不起作用


Global modifier not working in variable scope of a function

我的代码看起来像这样

<?php
    $a = "text";
    function hay() {
        global $a;
        return $a;
    }
    $b = hay();
    var_dump($b); // outputs NULL
?>

不显示任何错误。
全局修饰符不起作用。

您的作用域不是全局的。我认为你的文件包含在某个函数中。这就是为什么变量$a不是全局的。你可以添加global关键字来使变量全球化。

global $a;
$a = "text";

您在返回return $a中缺少一个分号。这应该是return $a;。试试这个,你的代码就可以了