小编Ola*_*run的帖子

PHP 5 到 7 代码问题,间接访问变量、属性和方法

我最近从 PHP 5.6 迁移到 PHP 7.3,并尝试修复我的所有网站并使其保持最新状态。

在我的 WordPress 主题上,我得到了很多:

自 PHP 7.0 起,对变量、属性和方法的间接访问将严格按照从左到右的顺序进行评估。使用花括号消除歧义。

有问题的代码始终是:

global $options;
foreach ($options as $value) {
    if (get_settings( $value['id'] ) === FALSE) { $$value['id'] = $value['std']; } else { $$value['id'] = get_settings( $value['id'] ); }
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗,在 PHP7 中执行此操作的正确方法是什么,因为我很困惑。如果错误特定于该if行。

在这里和谷歌上进行了搜索,但没有找到任何有用的信息。尝试了大括号和括号,没有任何结果。

我尝试了这个,但没有帮助:

global $options;

foreach ($options as $value) {
    if (isset($value['id']) && get_option( $value['id'] ) === FALSE && isset($value['std'])) { $$value['id'] = $value['std']; }
    elseif (isset($value['id'])) { $$value['id'] = get_option( $value['id'] ); }
}
Run Code Online (Sandbox Code Playgroud)

php php-5.6 php-7.3

2
推荐指数
1
解决办法
730
查看次数

标签 统计

php ×1

php-5.6 ×1

php-7.3 ×1