1

次のコードを実行します。

        preg_match("/^top\-sites\-csv\_(.+)\_/i", $file, $matches);
    $site_id = $matches[1];

そして、それはこの通知を生成し続けます:

PHP Notice:  Undefined offset

正規表現が一致するものを見つけられないときに起こっていると思います。問題は、スクリプトがcron上にあり、エラーログがすぐに大きくなり、手動でクリーニングする必要があることです。

4

2 に答える 2

2

istを使用する前に、$matches使用を確認してください。isset()

if(isset($matches[1])){
  $site_id = $matches[1];
  // do more here
}
于 2012-11-05T08:29:07.137 に答える
0

preg_match一致するものが見つからなかった場合$matchesは、空の配列です。したがってpreg_match、アクセスする前に一致するものが見つかったかどうかを確認する必要があります$matches[1]

于 2012-11-05T08:30:08.573 に答える