Сравнение строк - PullRequest
       5

Сравнение строк

2 голосов
/ 02 марта 2011
<?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 января с 12 марта это покажет мне значение идентичны но значение отличается

Ответы [ 4 ]

6 голосов
/ 02 марта 2011

Вы использовали неправильные возвращаемые значения.

  • -1 и 1 означают, что строки не идентичны (меньше и больше чем соответственно).
  • 0 означает, что строки идентичны.
1 голос
/ 02 марта 2011

Strcmp возвращает:

  • отрицательное число, если string1 меньше чем строка2
  • ноль, если две строки равны
  • положительное число строка1 больше чем строка2

Неправильно полагать, что strcmp вернет только -1, 0 или 1.

1 голос
/ 02 марта 2011

strcmp "возвращает <0, если str1 меньше, чем str2;> 0, если str1 больше, чем str2, и 0, если они равны". Вы печатаете «дата идентична», когда $ result == 1, что неверно.

1 голос
/ 02 марта 2011

Функция strcmp возвращает

< 0 if str1 is less than str2; 
> 0 if str1 is greater than str2, and 
0 if they are equal. 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...