首页 > 后端开发 > php教程 > 为什么 PHP 7.4 会抛出'尝试访问 Bool 类型值的数组偏移量”?

为什么 PHP 7.4 会抛出'尝试访问 Bool 类型值的数组偏移量”?

Barbara Streisand
发布: 2024-11-27 01:46:10
原创
780 人浏览过

Why Does PHP 7.4 Throw

理解错误:布尔值上的数组偏移访问

PHP 7.4 引入了严格类型检查的更改,导致错误“尝试访问 bool 类型值的数组偏移量。”当尝试对布尔类型的值使用数组语法(方括号)访问数组元素时,会发生此错误。

PHP 7.4 修复

在提供的示例中,抛出错误是因为当查询结果为空时$Row['Data']返回布尔值。要解决此问题,您可以使用 null 合并运算符 (??) 来检查 $Row['Data'] 是否为 null,如果是,则为其分配一个默认值。这确保您始终可以访问数组元素而不会遇到错误。

这是使用 null 合并运算符的代码的更新版本:

public static function read($id)
{
    $Row = MySQL::query("SELECT `Data` FROM `cb_sessions` WHERE `SessionID` = '$id'", TRUE);

    $session_data = $Row['Data'] ?? '';

    return $session_data;
}
登录后复制

或者,您可以使用 null合并运算符直接为 $Row['Data'] 分配默认值:

$Row['Data'] ??= 'default value';
登录后复制

这将设置如果 $Row['Data'] 为 null,则将其设置为 '默认值',然后照常返回其值。这两种方法都通过确保 $Row['Data'] 始终计算为有效的数组偏移值来有效防止错误。

以上是为什么 PHP 7.4 会抛出'尝试访问 Bool 类型值的数组偏移量”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板