尝试访问 PHP 7.4 中 bool 类型值的数组偏移量
P粉846294303
P粉846294303 2023-08-24 09:06:21
[PHP讨论组]

我刚刚将服务器的 PHP 版本升级到 PHP 7.4.1,现在收到此错误:

注意:尝试访问 bool 类型值的数组偏移量

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 的修复是什么?

P粉846294303
P粉846294303

全部回复(2)
P粉864594965

如果你的查询没有返回一行,那么你的变量 $Row 将被填充为 false, 因此您可以在尝试访问变量内部的任何索引之前测试该变量是否有值:

if($Row){
  if(is_null($Row['Data']))
  {
      $session_data = '';
  }...
P粉770375450

轻松使用 PHP ?? 空合并运算符

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

或者你可以这样使用

$Row['Data'] ??= 'default value';
return $Row['Data'];
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号