比较字符串

时间:2011-03-02 07:58:50

标签: php string comparison

<?php
    $string1 = "12 jan";
    $string2 = "12 aprail, 13 march";
    $result = strcmp($string1, $string2);

    switch ($result) {
        case -1: print "date are not identical"; break;
        case 0: print "date1"; break;
        case 1: print "date are identical"; break;
    }
?>

当我使用这段代码时,它会告诉我一个日期甚至是相同的值ex 当我比较值12月1日到3月12日 它会告诉我价值是相同的 但价值不同

4 个答案:

答案 0 :(得分:6)

您使用了错误的返回值。

  • -11表示字符串不相同(分别小于和大于)。
  • 0表示字符串相同。

答案 1 :(得分:1)

函数strcmp返回

< 0 if str1 is less than str2; 
> 0 if str1 is greater than str2, and 
0 if they are equal. 

答案 2 :(得分:1)

如果str1小于str2,则

strcmp“返回&lt; 0;如果str1大于str2,则返回0;如果它们相等则返回0”。当$ result == 1时,你正在打印“日期是相同的”,这是不正确的。

答案 3 :(得分:1)

strcmp返回:

  • 如果string1较小则为负数 比string2
  • 如果两个字符串为零 是平等的
  • 正数 string1大于string2

假设strcmp只返回-1,0或1是错误的。