我最近从 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)