是的,这是正确的/预期的行为:
strpos``0
字符串开头有匹配项时可以返回false
如果没有匹配项,它将返回
问题是你不应该
==用来比较
0和
false;您应该这样使用
===:
if(strpos("abcdefghijklmnop","http://www.") === 0) {}要么 :
if(strpos("abcdefghijklmnop","http://www.") === false) {}有关更多信息,请参见比较运算符:
$a == $b
会TRUE
如果$a
等于$b
。$a === $b
将TRUE
如果$a
等于$b
,和 它们是相同类型的 。
并且,引用以下手册的页面
strpos:
这个函数可以返回布尔
FALSE,也可以返回其评估到非布尔值FALSE,例如0或""。
请阅读布尔值部分以获取更多信息。
使用该===
运营商的测试此函数的返回值。



