【问题标题】:PHP EACH ELEMENT IS NOT SUPPORT IN PHP8 [closed]PHP8不支持PHP每个元素[关闭]
【发布时间】:2021-06-15 07:41:49
【问题描述】:

不适用于 php8

each 函数在 php8 上被移除

list($orig,$values) = each($where);

完整代码:

if ($custom = apply_filters("pe_theme_metabox_$type",$pmboxes)) {
    //print_r(array_keys(PeGlobal::$config["metaboxes-view"]));
    $keys = array_keys($custom);
    foreach ($keys as $key) {
        $metaboxes[$key] = $custom[$key];
        $where =& $metaboxes[$key]["where"];
        list($orig,$values) = each($where);
        if ($orig != $type) {
            unset($where[$orig]);
            $where[$type] = $values;
        }
    }
}

【问题讨论】:

  • 是的,你是对的,它已被删除。你有什么问题?
  • 甚至不清楚你为什么在这段代码中使用each(),因为你每次都在循环中重新分配$where。看起来您正在使用它来获取数组中的第一个键/值。

标签: php foreach wordpress-theming php-8


【解决方案1】:

它不是each() 的一般替换,但由于此代码不会在同一个数组上重复使用它,因此您不需要完全替换。此代码只是获取每个 $metaboxes[$key]["where"] 数组的第一个键和值,而不是遍历所有值。所以你可以这样做:

$orig = array_keys($where)[0];
$values = $where[$orig];

【讨论】:

  • 非常感谢您现在正在工作
猜你喜欢
  • 2021-05-01
  • 2021-01-03
  • 2011-08-09
  • 1970-01-01
  • 2014-09-17
  • 1970-01-01
  • 1970-01-01
  • 2012-10-31
  • 1970-01-01
相关资源
最近更新 更多