The sample above is only true on some platforms that only use a simple 'C' locale, where individual bytes are considered as complete characters that are converted to lowercase before being differentiated.
Other locales (see LC_COLLATE and LC_ALL) use the difference of collation order of characters, where characters may be groups of bytes taken from the input strings, or simply return -1, 0, or 1 as the collation order is not simply defined by comparing individual characters but by more complex rules.
Don't base your code on a specific non null value returned by strcmp() or strcasecmp(): it is not portable. Just consider the sign of the result and be sure to use the correct locale!
strcasecmp
(PHP 4, PHP 5)
strcasecmp — Binárně bezpečné case-insensitive porovnání řetězců
Popis
int strcasecmp ( string $str1, string $str2 )Pokud je str1 méně než str2 vrací < 0; pokud je str1 větší než str2 vrací > 0, a 0, pokud jsou stejné.
Příklad 2116. Ukázka strcasecmp()
$var1 = "Hello";
$var2 = "hello";
if (!strcasecmp ($var1, $var2)) {
echo 'v case-insensitive textovém porovnání se $var1 rovná $var2';
}
Viz také: ereg(), strcmp(), substr(), stristr(), strncasecmp() a strstr().
strcasecmp
27-Aug-2002 03:53
