2014-05-12 4 views
0

코드를 사용 중이고 두 번째 "for"루프에서 PHP 오류가 발생합니다.루프에 대한 정의되지 않은 변수

PHP 공지 : 정의되지 않은 변수는 :

  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'; 
      } 

가 사전에 감사 newmatches! $ newmatches이 수 ($ 일치 [1]) 어떻게이 모든 것을 0

확실하지 경우 실행되지 않습니다하는 루프에 대한 첫 번째 제외하고, 설정됩니다 어디 어디에서나 볼 수 없습니다

+1

첫 번째 루프가 실행되는지 확인하십시오 ... – bwoebi

+2

$ newmatches는'for' 루프에 대한 로컬 변수입니다. if() 전에 초기화하십시오. '$ newmatches = null; ' –

답변

0

인덱스를 1로 하드 코딩하면되지만, 간단한 해결 방법은 첫 번째 루프 앞에 $newmatches[1] = array()을 설정하는 것입니다.

+0

정말 고마워요! 공용 함수 SERPYahooKeyowrdPostion ($ domain_name, $ title). 잘 작동합니다! –