ホームページ >バックエンド開発 >PHPチュートリアル >PHP で「null 型の値の配列オフセットにアクセスしようとしています」というエラーが発生するのはなぜですか?
PHP でのタイプ Null エラーの配列オフセットにアクセスしようとしています: 問題への対処
「値の配列オフセットにアクセスしようとしています」存在しない配列要素にアクセスしようとすると、PHP で「null 型」エラーが発生します。このエラーは通常、データベース クエリの結果が空の配列または null 値になった場合に発生します。
エラーについて
PHP では、データベース フェッチ関数は null または null を返します。一致するレコードがない場合、または結果セットが使い果たされた場合は、空の配列。したがって、配列要素にアクセスする前にデータの存在を確認することが重要です。
問題の解決
このエラーを解決するには、次のいずれかの手法を使用します。
1.データの存在を明示的に確認する:
$monday_lectures = "SELECT * from lectures where lecture_time = '11am to 1pm' and lecture_day = 'firday'"; $result_11to1 = mysqli_query($con, $monday_lectures); $m11to1 = mysqli_fetch_array($result_11to1); if ($m11to1 && $m11to1["lecture_day"] !== '') { echo "<td>".$m11to1["lecture_name"]."</td>"; } else { echo "<td> no class</td>"; }
2. Null 合体演算子の使用:
$monday_lectures = "SELECT * from lectures where lecture_time = '11am to 1pm' and lecture_day = 'firday'"; $result_11to1 = mysqli_query($con, $monday_lectures); $m11to1 = mysqli_fetch_array($result_11to1); $lecture = $m11to1["lecture_day"] ?? null;
この方法では、配列要素が存在しない場合にデフォルト値を指定できます。
以上がPHP で「null 型の値の配列オフセットにアクセスしようとしています」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。