我試圖做一個函數,它將使用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)解釋如何正確使用該功能 –