注意,试图访问类型为null的wordpress-plugins的值的数组偏移量



我必须将我的网站更新到php7.4的最后一个版本,之后我在一些插件中发现了这个通知

**>注意:试图访问中null类型值的数组偏移量

C:\projets\htdocs\mapsport\wp-content\plugins\ekit-megamenu\library\scs\scs.inc.php1753**线上

protected function sortArgs($prototype, $args) {
$keyArgs = array();
$posArgs = array();
foreach ($args as $arg) {
list($key, $value) = $arg;
$key = $key[1]; // line 1753
if (empty($key)) {
$posArgs[] = $value;
} else {
$keyArgs[$key] = $value;
}
}
if (!isset($prototype)) return $posArgs;
$finalArgs = array();
foreach ($prototype as $i => $names) {
if (isset($posArgs[$i])) {
$finalArgs[] = $posArgs[$i];
continue;
}
$set = false;
foreach ((array)$names as $name) {
if (isset($keyArgs[$name])) {
$finalArgs[] = $keyArgs[$name];
$set = true;
break;
}
}
if (!$set) {
$finalArgs[] = null;
}
}
return $finalArgs;
}

如何在不更改php版本的情况下更改代码?

添加var_dump($args(后的结果;前臂前由@Ro Achterberg 建议

数组(2({[0]=>数组(3;字符串(3(";var";[1] =>串(23(";ekit-menu-simple__white"}[2] =>bool(false(}[1]=>数组(3(;串(6(";数字";[1] =>字符串(3(";6.5〃;[2] =>字符串(1("%"}[2] =>bool(false(}}

在线1752上,$key的值为NULL。它没有任何价值。你能试试$key = isset( $key[1] ) ? $key[1] : '';吗?

最新更新