Die PHP-Dokumentation zu dieser Funktion ist etwas spärlich und ich habe gelesen, dass diese Funktion ASCII-Werte vergleicht, also...
echo strcmp('hello', 'hello');
//outputs 0 as expected - strings are equal.
echo '<hr />';
echo strcmp('Hello', 'hello');
//outputs -32, a negative number is expected as
//uppercase H has a lower ASCII value than lowercase h.
echo '<hr />';
echo strcmp('60', '100');
//outputs 5.
Das letzte Beispiel verwirrt mich. Ich verstehe nicht, warum es eine positive Zahl ausgibt.
-
ASCII-Wert von 0 = 48
-
ASCII-Wert von 1 = 49
-
ASCII-Wert von 6 = 54
-
Gesamter ASCII-Wert von "60" = (54 + 48) = 102
-
Gesamter ASCII-Wert von "100" = (49 + 48 + 48) = 145
Die strcmp()-Funktion sagt, dass '60' "größer" ist als '100', obwohl der ASCII-Wert anscheinend y Stringlänge von '100' ist größer als '60'
Kann jemand erklären, warum?
Gracias