Php未定义的偏移错误

时间:2012-11-05 08:26:53

标签: php

运行以下代码:

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

它不断产生这个通知:

PHP Notice:  Undefined offset

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

2 个答案:

答案 0 :(得分:2)

在使用ist:

之前,只需使用isset()检查$matches
if(isset($matches[1])){
  $site_id = $matches[1];
  // do more here
}

答案 1 :(得分:0)

如果preg_match未找到匹配项,则$matches为空数组。因此,在访问preg_match

之前,您应该检查$matches[1]是否找到匹配项