为什么stripos评估为false

时间:2017-01-18 05:06:29

标签: php stripos

我有一个字符串$x = 'hello world.'。我想看看$ x是否包含字符串$y = 'hello'

如果我这样做

stripos($x, $y); 

它返回一个数字0,即字符串$ y开始的索引。但是这评估为FALSE。我该如何评估它以使其返回true?

2 个答案:

答案 0 :(得分:2)

阅读manual的警告通知:

  

警告:此函数可能返回布尔值FALSE,但也可能返回a   非布尔值,其值为FALSE。请阅读有关的部分   布尔值获取更多信息。使用===运算符进行测试   返回此函数的值。

所以你应该这样使用:

if(stripos($x, $y) !== FALSE)
// Found
else
// Not found

有关参考,请参阅手册中的this example

答案 1 :(得分:0)

如果你使用它,它将返回true

 !(stripos($x, $y)); 


$x = 'hello world.';
$y = 'hello';
echo !(stripos($x, $y));