2011-05-01 5 views
1

이 기능을 사용하면 동일한 결과가 두 번 인쇄됩니다. 왜 그런가? 내 기능인가? 나는 그것으로 잘못된 것을 발견 할 수 없다.기능이 두 번 인쇄됩니다.

$ valid는 배열입니다.

function validOutput($output, $valid, $name, $mirror){ 
       foreach($valid as $e) { 
        if(strpos($output, $e) != false) { 
         echo '<br />' . $name . '<br />'; 
         echo '<textarea cols=100 rows=10>'; 
         echo '[tab: Mirror' . $mirror . ']'; 
         echo $output; 
         echo "</textarea>"; 
        } 
       } 
} 

감사의 말을 잘못하면 알려주세요.

편집 :

$valid = array("facebook", "fbcdn", "megavideo", "video", "videoweed", "4shared"); 
+0

'$ valid'의 내용은 무엇입니까? –

+0

문제가 실제로 어디에서 발생했는지 알 수있는 방법은 없지만 $ dupe 정보를 $ valid에 두는 경우 또는 validOutput()을 두 번 호출하는 경우 –

+0

@crayon Violet "dupe info in $ valid"그게 전부입니다. 고맙습니다. – Muazam

답변

0

$valid는 몇 가지 예제 입력을 보여줄 수 $output

의 하위 두 가지 요소가? 어쩌면 $valid 매개 변수 뒤에있는 동기가 무엇인지 설명 할 수 있습니다. strpos0 될 수 있기 때문에

+0

@jon_darkstar 첫 번째 게시물에 추가되었습니다. 감사합니다. – Muazam

+0

@jon_darkstar 두 번 발생하는 '동영상'이었습니다. 고마워요 :) – Muazam

+0

난 아직도 당신이하고있는 일에 대한 동기를 얻지 못합니다. 당신은'$ output'의 일부가 아닌'$ valid'의 모든 요소에 대해 한 번만 인쇄하고 싶습니까? 만약 당신이 그때 환상적으로하고 싶은 일을한다면, 나는 단지 이해를하지 못합니다. –

0
이 문제가 될 수 있는지 모르겠어요

하지만 strpos()=== false 또는 !== false으로 확인해야하며이 false으로 처리됩니다.

닥>http://php.net/manual/en/function.strpos.php

+0

입니다. 아, 알다시피, 어떻게 든 코드는 잘 작동합니다. 나는 그것을 어떻게해서든지 교정 할 것이다. 고맙습니다. – Muazam