ホームページ >バックエンド開発 >PHPチュートリアル >PHP で「null 型の値の配列オフセットにアクセスしようとしています」というエラーが発生するのはなぜですか?

PHP で「null 型の値の配列オフセットにアクセスしようとしています」というエラーが発生するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-12 22:07:021067ブラウズ

Why am I getting the

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 サイトの他の関連記事を参照してください。

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