从外部函数(PHP)访问函数中的局部变量

hsd*_*dev 5 php

有没有办法在PHP中实现以下目标,还是根本不允许这样做?(请参见下面的注释行)

function outside() {
    $variable = 'some value';
    inside();
}

function inside() {
    // is it possible to access $variable here without passing it as an argument?
}
Run Code Online (Sandbox Code Playgroud)

Shi*_*dim 1

这是不可能的。如果$variable是全局变量,您可以通过关键字访问它global。但这是在一个函数中。所以你无法访问它。

不过,可以通过$GLOBALS数组设置全局变量来实现。但同样,你正在利用全球背景。

function outside() {
    $GLOBALS['variable'] = 'some value';
    inside();
}

function inside() {
        global $variable;
        echo $variable;
}
Run Code Online (Sandbox Code Playgroud)