我正在尝试检查代码中的字符串中是否不存在特定字符,而php显然不关心任何事情,并且总是进入if内
foreach($inserted as $letter)
{
if(strpos($word, $letter) !== true) //if $letter not in $word
{
echo "$word , $letter, ";
$lives--;
}
}
在这种情况下,$ word是“ abc”,$ letter是“ b”,我尝试将很多随机的东西从true更改为false,但是我无法理解,任何人都可以帮忙我可以吗?
答案 0 :(得分:4)
更改验证方式应解决此问题,如下所示:
foreach($inserted as $letter)
{
//strpos returns false if the needle wasn't found
if(strpos($word, $letter) === false)
{
echo "$word , $letter, ";
$lives--;
}
}
答案 1 :(得分:4)
if(strpos($word, $letter) === false) //if $letter not in $word
{
echo "$word , $letter, ";
$lives--;
}
另外,请注意明确检查false
,如果匹配项在字符串的第0个索引中,strpos可能返回0
(假值)... >
例如
if (!strpos('word', 'w') {
echo 'w is not in word';
}
将输出可能令人困惑的消息'w is not in word'