PHP strcmp无法正常工作

时间:2018-06-27 18:01:04

标签: php strcmp

在我的代码中,我想比较两个字符串,首先我用===做到了,但是后来我尝试了strcmp()。当我写的时候:

echo strcmp("test","test");

结果是0。我也用===

尝试过
echo ($subject === $empty)

我用了我想比较的实际字符串。

但是。如果zweo字符串相同,为什么字符串comparde方法仅为True。因为:

echo strcmp("test","tedddst");

提供True。

3 个答案:

答案 0 :(得分:2)

strcmp不返回boolean true / false,而是返回int。来自strcmp documentation

  

如果str1小于str2,则返回<0;否则,返回0。如果str1大于str2,则> 0;如果相等,则为0。

答案 1 :(得分:0)

accountant

根据文档所述为二进制安全字符串比较。

strcmp 

如果str1小于str2,则返回<0;否则,返回0。如果str1大于str2,则> 0;如果相等,则为0。

int strcmp ( string $str1 , string $str2 ); 将返回===true

答案 2 :(得分:0)

strcmp函数比较给定的字符串并返回数字,而不是布尔值。

在最后一个示例中,返回值不同于0,如果您以布尔类型解析它,则返回True。

回到第一个问题,字符串比较。您可以检查strcmp(str1, str2)是否等于0,而不是布尔值。

您可以在引用的URL中查看“返回值”部分以获取更多信息。