PHP/String/strcmp — различия между версиями

Материал из Web эксперт
Перейти к: навигация, поиск
м (1 версия)
 
(нет различий)

Текущая версия на 07:07, 26 мая 2010

Comparing strings with strcmp()

 
<?
$x = strcmp("x54321","x5678"); 
if ($x > 0) {
    print ""x54321" is greater than the string "x5678".";
} elseif ($x < 0) {
    print ""x54321" is less than the string "x5678".";
}
$x = strcmp("54321","5678");
if ($x > 0) {
    print ""54321" is greater than the string "5678".";
} elseif ($x < 0) {
    print ""54321" is less than the string "5678".";
}
$x = strcmp("6 p","55 c");
if ($x > 0) {
    print ""6 p" is greater than than the string "55 c".";
} elseif ($x < 0) {
    print ""6 p" is less than the string "55 c".";
}
$x = strcmp("6 pack",55);
if ($x > 0) {
    print "The string "6 pack" is greater than the number 55.";
} elseif ($x < 0) {
    print "The string "6 pack" is less than the number 55.";
}
?>



For example, using my collation rules (Canadian-English), I obtain the following results:

 
echo strcmp ("Apple", "Banana");        // returns < 0
echo strcmp ("apple", "Apple");        // returns > 0
echo strcmp ("1", "test");                // returns < 0



int strcmp ( string str1, string str2 ), case-insensitive sibling, strcasecmp( )

 
<?
    $string1 = "foo";
    $string2 = "bar";
    $result = strcmp($string1, $string2);
    switch ($result) {
            case -1: print "Foo comes before bar"; break;
            case 0: print "Foo and bar are the same"; break;
            case 1: print "Foo comes after bar"; break;
    }
?>



strcmp() function performs a case-sensitive comparison of two strings.

 
Its syntax follows: int strcmp (string string1, string string2)
strcmp() returns one of three possible values:
0 if string1 and string2 are equal
< 0 if string1 is less than string2
> 0 if string2 is less than string1
<?
$string1 = "butter";
$string2 = "butter";
if ((strcmp($string1, $string2)) == 0) :
     print "Strings are equivalent!";
endif;
?>