为什么 Stripos 的计算结果为 false



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

如果我这样做

stripos($x, $y); 

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

阅读手册中的警告通知:

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

所以你应该像这样使用:

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

有关参考,请参阅手册中的此示例。

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

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

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

最新更新