(PHP 4, PHP 5)
strcasecmp — Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (Binary safe)
Groß- und kleinschreibungsunabhängiger Vergleich zweier Zeichenketten, der binary safe ausgeführt wird.
Die erste Zeichenkette.
Die zweite Zeichenkette.
Ist str1 kleiner als str2 wird ein Wert < 0 zurückgegeben, ist str1 größer als str2 ein Wert > 0, und bei Gleichheit gibt die Funktion 0 zurück.
Beispiel #1 strcasecmp()-Beispiel
<?php
$var1 = "Hallo";
$var2 = "hallo";
if (strcasecmp($var1, $var2) == 0) {
echo '$var1 ist gleich $var2 bei einem String-Vergleich'
. 'ohne Berücksichtigung von Groß- und Kleinschreibung';
}
?>
Don't forget this is a single-byte function: in Unicode strings it'll provide incoherent results as soon as both strings differ only in case. There doesn't seem to exist a built-in multi-byte alternative so you need to write your own, taking into account both character encoding and collation.
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!