php - PHP7函数中的全局变量?
问题描述
为 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 在脚本中可用。谢谢!!
解决方案
不带花括号试试
function verify($field) {
global $$field;
$value = "";
if (isset($field)) {
$value = $$field;
} else {
// get value...
}
return $value;
}
推荐阅读
- python - 给定各种条件,如何在熊猫数据框中更改日期的年份?
- c - 为什么 C 宏调用会占用大括号?
- python - Django 2.0 查询集显示“对象(1)”不显示值
- oracle-apex - 是否有可能使用我们从 Oracle Apex 中的程序 Refcursor 获得的数据
- performance - 如何以非线性方式在 C++ 中保存矩阵
- html - 它如何设置网格模板列:[outer-start] 1fr [center-start] 1fr [center-end] 1fr [outer-end]?
- sql - SQL Server 中字符串的单引号
- php - 从父类方法返回子方法的可能性?
- java - 如何将 Firebase 实时数据库的搜索结果放入 Android 的数组列表中?
- html - 使用 CSS 选择特定元素