Funktion ord() - ASCII-Wert eines Zeichens zurückgeben
Inklusive der erweiterten Tabelle umfasst der ASCII-Zeichensatz 256 Zeichen. Für jedes Zeichen gibt es einen sogenannten ASCII-Wert, der mit 0 beginnt und bei 255 endet. Der ASCII-Wert kann unterschiedlich angegeben werden, z.B. dezimal, oktal oder hexadezimal. Der ASCII-Wert für den Buchstaben H ist dezimal 72, oktal 110 und hexadezimal 48. Es kann vorkommen, dass man den ASCII-Wert eines Zeichens benötigt. Hierfür kann man die PHP-Funktion ord() verwenden. Diese gibt den ASCII-Wert des ersten Zeichens einer Zeichenkette zurück. Die Zeichenkette bzw. eine Variable wird dabei innerhalb der runden Klammern als Parameter angegeben. Beim folgenden Code wird der ASCII-Wert für das Zeichen H ausgegeben.
<?php
// Ausgabe 72
echo ord('H');
?>
Die Zeichenkette kann beliebig lang sein. Die Funktion wird trotzdem auf das erste Zeichen angewendet.
<?php
// Ausgabe 72
echo ord('Hello');
?>
In beiden Fällen wird der dezimale ASCII-Wert 72 ausgegeben.
ASCII-Wert in hexadezimal konvertieren
Es kann vorkommen, dass man den zurückgegebenen ASCII-Wert in Hexadezimal benötigt. Da es keinen Parameter gibt, mit der man das direkt mit der Funktion ord() bewerkstelligen kann, benötigt man in solch einem Fall zwei Schritte. Im ersten Schritt erhält man den dezimalen ASCII-Wert und im zweiten Schritt erfolgt die Konvertierung des Werts von Dezimal zu Hexadezimal. Hierfür kann man die Funktikon dechex() verwenden. Beim folgenden Code wird die Variable $dezimalwert für die Zwischenspeicherung des dezimalen ASCII-Werts verwendet und danach erfolgt die Konvertierung und Ausgabe der Variable in Hexadezimal.
<?php
$dezimalwert = ord('H');
// Ausgabe 48
echo dechex($dezimalwert);
?>
Das Zwischenspeichern über die Variable kann auch entfallen, sodass man die Funktion dechex() direkt auf die Funktion ord() anwenden kann. Die Ausgabe ist in beiden Fällen der hexadezimale Wert 48, was dem Buchstaben H entspricht.
<?php
// Ausgabe 48
echo dechex(ord('H'));
?>
ASCII-Wert in oktal konvertieren
Analog dazu gibt es die Funktion decoct(), um einen Dezimalwert in ein Oktalwert umzuwandeln.
<?php
// Ausgabe 110
echo decoct(ord('H'));
?>
ASCII-Wert in binär konvertieren
Falls der ASCII-Wert binär benötigt wird, kann man die Funktion decbin() verwenden.
<?php
// Ausgabe 1001000
echo decbin(ord('H'));
?>
Mit den zusätzlichen Funktionen ist es möglich, den ASCII-Wert in den üblicherweise genutzten Formaten zu erhalten.