【问题标题】:Global Variable Variables in PHP7 Function?PHP7函数中的全局变量?
【发布时间】:2020-09-03 09:16:06
【问题描述】:

为 php7 更新 php5 应用程序并遇到这个困难......在一个到处使用的函数中似乎有一个全局变量变量,如下所示:

function verify($field) {
    global ${$field};
    $value = "";
    if (isset($field)) {
        $value = ${$field};
    } else {
        // get value...
    }
    return $value;
}

当我们有很多这样的实例时,这对于 php5 来说完全没问题

$var = verify("field");
$var2 = verify("field2");
$var3 = verify("field3");

不过,php7 似乎无法接受棘手的 ${$field} 部分。该应用程序的许多功能不适用于 php7,因为此函数 verify() 无法获取整个代码中变量的值。任何想法如何为 php7 重写?必须使 $var、$var2、$var3 在脚本中可用。谢谢!!

【问题讨论】:

    标签: php migration php-7 php-7.1


    【解决方案1】:

    不带花括号试试

    function verify($field) {
        global $$field;
        $value = "";
        if (isset($field)) {
            $value = $$field;
        } else {
            // get value...
    }
    return $value;
    

    }

    【讨论】:

    • 感谢您的回复。奇怪的是,这不起作用。也许问题出在其他地方。将进一步调查。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    相关资源
    最近更新 更多