更新后 Xampp 中的致命错误:无法使用 isset()

Fatal error in Xampp after Update: Cannot use isset()

当我在 Xampp 中打开旧项目时,我遇到了 isset 代码问题。实际上,自从我从 1.7.3 to 3.2.1 xampp 更新了我的 Xampp 后,它就发生了。看起来错误在这一行:

for ($i = 1; $i <= CITY_COUNT; $i++) {
    for ($j = 1; $j <= CITY_COUNT; $j++) {
        if (isset(@$_POST[$i . '_' . $j]))
            //
            $distances[$i][$j] = @$_POST[$i . '_' . $j];
        else if (isset(@$_POST[$j . '_' . $i]))
            $distances[$i][$j] = @$_POST[$j . '_' . $i];
        else
            $distances[$i][$j] = 32767;
    }
}

我收到一个致命错误。错误说“致命错误:不能在表达式 (you can use "null !== expression" instead) 的结果上使用 isset()” 但是我不知道那个代码有什么问题..在旧的 xampp 1.7.3 中我没有看到那个错误。

请指导我。

只需删除您正在使用 $_POSTisset。 这将自动检查该值是否存在,否则您已经设置了默认值。

已更新

按照@magnus 的想法,删除 $_POST 之前的 @

for ($i = 1; $i <= CITY_COUNT; $i++) {
    for ($j = 1; $j <= CITY_COUNT; $j++) {
        if ($_POST[$i . '_' . $j] != '')
            //
            $distances[$i][$j] = $_POST[$i . '_' . $j];
        else if ($_POST[$j . '_' . $i] != '')
            $distances[$i][$j] = $_POST[$j . '_' . $i];
        else
            $distances[$i][$j] = 32767;
    }
}