陷入错误: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中文网其他相关文章!