为什么 stripos 评估为 false

why does stripos evaluates to false

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

如果我这样做

stripos($x, $y); 

它 returns 一个数字 0,字符串 $y 开始的索引。然而,这评估为 FALSE。我如何评估它才能使它 returns 为真?

阅读来自manual的警告通知:

Warning: This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.

所以你应该这样使用:

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

参考手册中的 this example

如果您使用它,它将 return 正确

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


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