ホームページ >バックエンド開発 >PHPチュートリアル >PHP 7.4 で「エラー トラップ: ブール値の配列オフセット アクセス」が発生するのはなぜですか?

PHP 7.4 で「エラー トラップ: ブール値の配列オフセット アクセス」が発生するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-15 04:18:02587ブラウズ

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 の場合、null 合体演算子 (??) を使用してデフォルト値を割り当てます。

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

または、null 合体代入演算子 (?) を使用することもできます。 ?=) $Row['Data'] が null の場合のデフォルト値を設定します:

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

以上がPHP 7.4 で「エラー トラップ: ブール値の配列オフセット アクセス」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。