2010-10-14 9 views

Antwort

0

ord

Edit: Hoppla, das ist nicht das, was getNumericValue tut. Ich denke, die Antwort ist nein. Sie müssen eine eigene Tabelle erstellen, die numerische Zeichen auf Zahlen abbildet.

Wenn Sie eine Funktion möchten, die mit den gängigsten numerischen Zeichen funktioniert, könnten Sie etwas tun, aber es wäre für spezielle Unicode-Zahlen fehlschlagen:

function getNumericValue($ch) { 
    if (ctype_digit($ch)) 
    return ord($ch) - ord('0'); 
    if (ctype_upper($ch)) 
    return ord($ch) - ord('A') + 10; 
    if (ctype_lower($ch)) 
    return ord($ch) - ord('a') + 10; 
    return -1; 
} 
2

Verwenden Sie die intval() Funktion.

Dies funktioniert nicht mit Buchstaben oder römischen Ziffern auf die gleiche Weise, aber Sie könnten Ihre eigene Methode erstellen, um dies für diese Fälle zu tun. Es wird jedoch mit Standardziffern umgehen.

 
if (intval("2") === 2) 
    echo("YAY!"); 
+1

'intval' ist in der Tat interessant. Mit Base 36 sollte es auch mit Buchstaben umgehen. – casablanca

+0

Das ist brilliant! –