循环的未定义变量

时间:2014-05-12 20:00:24

标签: php loops for-loop

我有一个正在使用的代码,它在第二个" for"中生成一个PHP错误环。

  

PHP注意:未定义的变量:newmatches

            if (empty($result['ERR'])) {
                preg_match_all('(<h3><a[^<>]*href="([^<>]*)"[^<>]*>(.*)</a>\s*</h3>)siU', $result['EXE'], $matches);
                for ($i = 0; $i < count($matches[1]); $i++) {
                    $matches[1][$i] = urldecode($matches[1][$i]);
                    preg_match_all('/\*\*(http:\/\/.*$)/siU', $matches[1][$i], $urls);
                    $newmatches[1][$i] = $urls[1][0];
                }
                for ($i = 0; $i < count($newmatches[1]); $i++) {  //PHP Notice:  Undefined variable: newmatches 
                if(strstr($newmatches[1][$i], $domain))
                    return $i+1;
                }
            } else {
                return '0';
            }

提前谢谢!

1 个答案:

答案 0 :(得分:0)

除了第一个for循环之外,我没有看到设置$ newmatches的任何地方,如果count($ matches [1])为0,它将不会运行。

不确定索引到1的所有硬编码是什么,但一个简单的解决方法是在第一个循环之前设置$newmatches[1] = array()