strpos没有在字符串中找到一个单词

时间:2013-11-29 09:37:19

标签: php

在下面的代码中,如果我将$what设置为'red',则找不到它,而它会找到绿色和蓝色。为什么以及如何让它找到红色?

$where = 'red,green,blue';

$what = 'blue';

if (strpos($where, $what) == true) {
    echo 'found';
}

2 个答案:

答案 0 :(得分:1)

strpos返回找到的字符串的索引。在这种情况下,索引为0,您对== true的检查将失败。尝试:

strpos($where, $what) !== false

documentation提供了更多信息。

答案 1 :(得分:1)

如果您的字符串不存在,

strpos将返回false。否则,它会返回字符串的位置。

在这种情况下,'red'位于字符串的开头,这意味着它位于0位置; 0评估为假。

您需要对结果进行布尔比较:

if(strpos($word, 'red') === false)