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 — 大文字小文字を区別しないバイナリセーフな文字列比較を行う
説明
int strcasecmp ( string $str1, string $str2 )大文字小文字を区別しないバイナリセーフな文字列比較を行います。
パラメータ
- str1
最初の文字列。
- str2
次の文字列。
返り値
str1 が str2 より小さい場合は負、str1 が str2 より大きい場合は正、等しい場合は 0 を返します。
例
例 2435. strcasecmp() の例
<?php
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
echo '$var1 is equal to $var2 in a case-insensitive string comparison';
}
?>
参考
| preg_match() |
| strcmp() |
| substr() |
| stristr() |
| strncasecmp() |
| strstr() |
strcasecmp
27-Aug-2002 10:53