ホームページ >バックエンド開発 >PHPチュートリアル >PHP 7.4 で「エラー トラップ: ブール値の配列オフセット アクセス」が発生するのはなぜですか?
エラーがトラップされました: 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 サイトの他の関連記事を参照してください。