在PHP手册中,给出的例子是
echo substr_compare("abcde", "bcg", 1, 2); // 0
我测试了代码并获得了相同的结果,但“bc”和“bcg”如何相等?这应该给-1。我在这里错过了什么吗?
答案 0 :(得分:4)
仔细阅读documentation:
substr_compare()
将main_str
与位置offset
与str
与length
个字符进行比较。
您可以将main_str
("abcde"
)中的位置1("bc"
)与"bcg"
的最多2个字符进行比较。但只有最多 2个字符。
另请参阅length
参数:
比较的长度。默认值是
str
长度的最大值,而main_str
的长度减去offset
的长度。
我同意这可能会被误解,但只会比较最多 length
个字符。
答案 1 :(得分:2)
从文档中,此功能“将{strong> main_str
与位置offset
与str
与length
个字符进行比较。”
因此,从位置1开始,“abcde
”中的2个字符将为“bc
”。 “bcg
”的前两个字符为“bc
” - 因此会返回0
。