为什么 PHP 中的字符串不包含空字符串?

Why does a string in PHP not contain an empty string?

考虑以下代码 returns false:

<?php var_dump(stripos("foo", "")); ?>

它 returns bool(false),而不是 int(0) PHP 7.4.

我以为每个字符串都包含空字符串。

那么这种行为的原因是什么?

来自documentation

Returns false if the needle was not found.

这样做的目的是可以将结果与 false 进行严格比较,以找出 haystack 中没有找到 needle

if (stripos("foo", "") === false) {
    // Here we definitely know "" is not contained in "foo"
}