考虑以下以某种方式返回的代码false
:
<?php var_dump(stripos("foo", "")); ?>
它返回bool(false)
,而不是int(0)
在 PHP 7.4 上。
我认为每个字符串都包含空字符串。
那么这种行为的原因是什么?
从文档:
false
如果未找到针头,则返回。
这样做的目的是可以严格比较结果,false
以便找出needle
在haystack
.
if (stripos("foo", "") === false) {
// Here we definitely know "" is not contained in "foo"
}