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