PHP エラー: "未定義のオフセット PHP エラー"
PHP 開発で要素にアクセスしようとすると、"未定義のオフセット" エラーが発生します存在しない配列またはオブジェクト。これは通常、設定されていないキーを使用して配列要素にアクセスするとき、または定義されていないオブジェクト プロパティにアクセスするときに発生します。
この特定のケースでは、エラー メッセージ「未定義のオフセット 1: in C:wampwwwincludesimdbgrabber」が表示されます。 .php line 36" は、ファイル imdbgrabber.php の 36 行目の PHP コードがインデックス 1 の配列要素にアクセスしようとしているが、配列に
エラーの原因となるコードは次のとおりです。
function get_match($regex, $content) { preg_match($regex,$content,$matches); return $matches[1]; // ERROR HAPPENS HERE }
この関数では、preg_match 関数を使用して変数 $content から情報を抽出しています。 $regex で定義された正規表現。一致の結果は $matches 配列に保存されます。
$matches[1] を返そうとするとエラーが発生します。これは、preg_match 関数が入力と正常に一致し、$matches 配列内に一致する要素が少なくとも 1 つあることを前提としています。ただし、正規表現が入力と一致しない場合、$matches 配列は空になり、$matches[1] にアクセスすると「未定義のオフセット」エラーが発生します。
このエラーを修正するには、次のようにする必要があります。 $matches 配列にアクセスする前に、まず preg_match 関数が一致を見つけたかどうかを確認します。これを行うには、次のコードを使用します。
function get_match($regex, $content) { if (preg_match($regex, $content, $matches)) { return $matches[0]; } else { return null; } }
このコードは、まず $matches 配列が空でないかどうかを確認することで、preg_match 関数が一致を見つけたかどうかを確認します。一致した場合は、最初に一致した要素 $matches[0] が返されます。それ以外の場合は、null を返します。
以上が配列アクセス時の PHP 「未定義のオフセット」エラーを解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。