在下面的代码中,如果我将$what
设置为'red',则找不到它,而它会找到绿色和蓝色。为什么以及如何让它找到红色?
$where = 'red,green,blue';
$what = 'blue';
if (strpos($where, $what) == true) {
echo 'found';
}
答案 0 :(得分:1)
strpos
返回找到的字符串的索引。在这种情况下,索引为0,您对== true
的检查将失败。尝试:
strpos($where, $what) !== false
documentation提供了更多信息。
答案 1 :(得分:1)
strpos将返回false。否则,它会返回字符串的位置。
在这种情况下,'red'位于字符串的开头,这意味着它位于0位置; 0评估为假。
您需要对结果进行布尔比较:
if(strpos($word, 'red') === false)