Php 什么';这辆车怎么了?
我试图创建一个函数,它将使用Php 什么';这辆车怎么了?,php,arrays,foreach,Php,Arrays,Foreach,我试图创建一个函数,它将使用foreach来确定提供给它的字符串是否包含数组中的任何单词。我试着通过放置echo“迭代…”进行调试在foreach之后,这样我就可以看到它循环了多少次,而且它似乎从来没有开始循环,所以我假设我设置foreach或者我的数组的方式有问题。有什么想法吗?谢谢 $badwords = array("example", "word"); function containsBad($st) { $isbad = false; foreach($badwor
foreach
来确定提供给它的字符串是否包含数组中的任何单词。我试着通过放置echo“迭代…
”进行调试代码>在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=array(“示例”、“单词”);
函数包含SBAD($st){
$isbad=false;
foreach($words作为$word){
回应“迭代…
”;
if(strpos($st,$word)){
$isbad=true;
}
}
返回$isbad?'true':'false';
}
echo containsBad(“示例”);
在使用函数之前,必须在函数中将$badwords
变量定义为全局变量:
global $badwords;
但您的计划还有另一个改进:
程序无法确定坏单词是否从字符串开头开始
使用布尔变量$isbad
$badwords=数组(“示例”、“单词”)
函数包含sbad($st)
{
全球美元恶言;
$isbad=false;
foreach($words作为$word)
{
回应“迭代…
”;
if(strpos($st,$word)!==false)
$isbad=true;
}
返回$isbad;
}
$baddwords
是一个全局变量。您必须添加global$baddwords代码>到您的函数。strpos()
可以返回0(当找到关键字时)或false(当未找到关键字时),在中有一个关于此的大警告,并解释了如何正确使用函数库。奇怪的是,你必须这样做。基本上,除了确定用户名是否包含一个坏单词之外,它不需要做很多其他事情。就$isbad
而言,这是为了调试。这是我的新代码,它仍然不是最终的,只是用于调试:函数containsBad($st){$badwords=file(“badwords.txt”,file_IGNORE_new_行);foreach($badwords as$word){if(strpos($st,$word)==true | strpos($st,$word)>-1{返回“true”}返回“false”}echo containsBad(“test”)代码>
function containsBad($st)
{
global $badwords;
$isbad = false;
foreach($badwords as $word)
{
echo "iteration...<br>";
if (strpos($st, $word)!==false)
$isbad = true;
}
return $isbad;
}