1

运行以下代码:

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

它不断生成此通知:

PHP Notice:  Undefined offset

我猜它发生在正则表达式找不到匹配项时。问题是脚本在 cron 上,我的错误日志很快就变大了,然后需要手动清理..

4

2 回答 2

2

在使用ist 之前检查$matchesusing :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 回答