首页 >后端开发 >php教程 >为什么我在 PHP 7.4 中收到'错误陷阱:布尔值上的数组偏移访问”?

为什么我在 PHP 7.4 中收到'错误陷阱:布尔值上的数组偏移访问”?

Patricia Arquette
Patricia Arquette原创
2024-11-15 04:18:02607浏览

Why Am I Getting

陷入错误:PHP 7.4 中布尔值的数组偏移访问

查询:

升级到 PHP 7.4.1 后,出现以下错误:

Notice: Trying to access array offset on value of type bool in

此代码块内:

public static function read($id)
{
    $Row = MySQL::query("SELECT `Data` FROM `cb_sessions` WHERE `SessionID` = '$id'", TRUE);
    
    # http://php.net/manual/en/function.session-start.php#120589
    //check to see if $session_data is null before returning (CRITICAL)
    if(is_null($Row['Data']))
    {
        $session_data = '';
    }
    else
    {
        $session_data = $Row['Data'];
    }
    
    return $session_data;
}

解决方案:

PHP 7.4 强制执行更严格的类型检查,当 $Row['Data'] 可能为 null 时会导致此错误。要解决此问题,请在 $Row['Data'] 为 null 时使用空合并运算符 (??) 分配默认值:

return $Row['Data'] ?? 'default value';

或者,您可以使用空合并赋值运算符 (? ?=) 如果 $Row['Data'] 为 null,则设置默认值:

$Row['Data'] ??= 'default value';
return $Row['Data'];

以上是为什么我在 PHP 7.4 中收到'错误陷阱:布尔值上的数组偏移访问”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn