我试图做一个函数,它将使用foreach
来确定提供给它的字符串是否包含数组中的任何单词。我试过在foreach
之后加上echo "iteration...<br>";
来调试,所以我可以看到它循环了多少次,而且似乎并没有开始循环,所以我假设我已经设置了我的foreach
或也许是我的阵列。有任何想法吗?谢谢。这个foreach有什么问题?
$badwords = array("example", "word");
function containsBad($st) {
$isbad = false;
foreach($badwords as $word) {
echo "iteration...<br>";
if (strpos($st, $word)) {
$isbad = true;
}
}
return $isbad ? 'true' : 'false';
}
echo containsBad("example");
'$ badwords'是一个全球性的。你必须为你的函数添加'global $ badwords;'。 –
'strpos()'可以返回0(当找到关键字时)或false(找不到时),在[PHP文档]中有很大的警告(http://uk1.php.net/manual/) en/function.strpos.php)解释如何正确使用该功能 –