2011-05-01 41 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'的内容是什么? – 2011-05-01 02:27:53

+0

没有办法从这段代码中知道问题实际上是在哪里,但是要么是将dupe信息放在$ valid中,要么你要调用validOutput()两次 – 2011-05-01 02:28:32

+0

@crayon Violet在$ valid中的“dupe info”就是这样。谢谢。 – Muazam 2011-05-01 02:58:33

回答

0

$valid有是$output

子你能表现出一定的采样输入两个元素?也许可以解释$valid参数背后的动机是什么?

+0

@jon_darkstar在第一篇文章中添加,谢谢! – Muazam 2011-05-01 02:32:48

+0

@jon_darkstar发现,这是“视频”发生两次。感谢:) – Muazam 2011-05-01 02:36:44

+0

我仍然没有真正得到你在做什么的动机,不是我需要的。你想为'$ valid'的每个元素都打印一次,而不是'$ output'的一部分?如果它做你想要的东西那么太棒了,我只是不会忘记 – 2011-05-01 02:44:13

0

我不知道,可能是问题,但strpos()必须检查为=== false!== false,因为strpos可能是0,它将被视为false

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

+0

啊,我看到,不知何故代码工作得很好。无论如何,我会纠正它。谢谢。 – Muazam 2011-05-01 02:38:09