我正在尝试创建一个函数,它将使用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");
答案 0 :(得分:0)
在使用之前,您必须将$badwords
变量定义为函数内的全局变量:
global $badwords;
但您的计划还有其他改进:
$isbad
$ badwords = array(&#34;示例&#34;,&#34; word&#34;);
function containsBad($st)
{
global $badwords;
$isbad = false;
foreach($badwords as $word)
{
echo "iteration...<br>";
if (strpos($st, $word)!==false)
$isbad = true;
}
return $isbad;
}