In der ASCII-Code-Tabelle ist für jedes Zeichen einer Zeichenkette ist ein entsprechender Zahlenwert hinterlegt. Beim ASCII-Code handelt sich um einen 8-Bit-Zeichensatz, dies bedeutet, dass Zahlen von 0 bis 255 zur Verfügung stehen. Der Code gliedert sich in die folgenden drei Gruppen: Die Zahlen von 0 bis 31 sind für Steuerzeichen reserviert, bei den Zahlen 32–127 sind die amerikanischen Tastaturzeichen hinterlegt. Sonderzeichen und Umlaute sind in den Zahlenwerten von 128–255 festgeschrieben. Dieser ASCII-Code wird beim Speichern einer Zeichenkette verwendet.
Die PHP Funktion ord() gibt den ASCII-Wert eines Zeichens zurück. Dies bedeutet, dass mit der Funktion ord() der dazugehörige ASCII-Wert, welches ein Zahlenwert ist, von einem gewünschten Zeichen ausgegeben wird. Wird mehr als ein Zeichen übergeben, so kann nur das erste Zeichen berücksichtigt werden. Der Zahlenwert kann jederzeit auch manuell in entsprechenden Tabellen nachgeschlagen werden, ist aber aufgrund der Funktion ord() unpraktisch. Mittels dieser Funktion kann schnell und sicher der passende Zahlenwert zu jedem Zeichen ermittelt werden.
Als Beispiel für die PHP-Funktion ord() wird folgender Sachverhalt zugrunde gelegt. Es wird für das Zeichen „Y“ der entsprechende Zahlenwert aus der ASCII-Code-Tabelle gesucht.
Die PHP-Funktion ord() muss wie folgt lauten:
<?php
$zeichen = "Y";
echo "Das Zeichen $zeichen hat den ASCII-Wert:".ord($zeichen);
?>
Als Ergebnis wird die Zahl 89 ausgegeben, die in der ASCII-Code-Tabelle für den Buchstaben Y hinterlegt ist. Für den Buchstaben M ist der Zahlenwert 109 in der ASCII-Code-Tabelle hinterlegt.
Die PHP Funktion ord() – Was ist die ord() Funktion?
Die PHP-Funktion ord()
ist eine eingebaute Funktion, die den ASCII-Wert eines Zeichens zurückgibt. ASCII steht für American Standard Code for Information Interchange und ist ein Zeichensatz, der jedem Zeichen in der englischen Sprache einen numerischen Wert zuordnet.
Funktionsweise der ord() Funktion
Die ord()
Funktion erwartet als Parameter ein einzelnes Zeichen und gibt den entsprechenden ASCII-Wert dieses Zeichens als Ganzzahl zurück. Wenn mehrere Zeichen übergeben werden, wird nur der ASCII-Wert des ersten Zeichens berücksichtigt.
Anwendungsbeispiel
Um die ord()
Funktion besser zu verstehen, betrachten wir ein Beispiel:
<?php
$zeichen = "Y";
echo "Das Zeichen $zeichen hat den ASCII-Wert: " . ord($zeichen);
?>
In diesem Beispiel wird der ASCII-Wert des Zeichens „Y“ ermittelt und ausgegeben. Das Ergebnis ist 89, da der ASCII-Wert für „Y“ in der ASCII-Tabelle 89 ist.
Umfangreicher Test der ord() Funktion
Um die Funktionalität der ord()
Funktion weiter zu demonstrieren, können wir einen umfangreichen Test durchführen:
<?php
/* Test mit verschiedenen Zeichen */
$zeichenkette = "Hello World!";
foreach(str_split($zeichenkette) as $zeichen) {
echo "Das Zeichen $zeichen hat den ASCII-Wert: " . ord($zeichen) . "<br>";
}
/* Test mit Sonderzeichen */
$sonderzeichen = "!@#$%^&*()";
foreach(str_split($sonderzeichen) as $zeichen) {
echo "Das Zeichen $zeichen hat den ASCII-Wert: " . ord($zeichen) . "<br>";
}
/* Test mit Zahlen */
$zahlen = "1234567890";
foreach(str_split($zahlen) as $zeichen) {
echo "Das Zeichen $zeichen hat den ASCII-Wert: " . ord($zeichen) . "<br>";
}
?>
Dieser PHP-Code demonstriert die Verwendung der Funktionen str_split()
und ord()
zum Testen von Zeichenketten, Sonderzeichen und Zahlen:
- Es wird eine Zeichenkette
"Hello World!"
definiert und mittels str_split()
in ein Array von einzelnen Zeichen aufgeteilt. - Ein foreach-Loop durchläuft jedes Zeichen der Zeichenkette.
- Für jedes Zeichen wird der ASCII-Wert mit der Funktion
ord()
ermittelt und zusammen mit dem Zeichen ausgegeben.
Dies wird dann für drei verschiedene Tests durchgeführt:
- Test mit verschiedenen Zeichen (Buchstaben):
"Hello World!"
- Test mit Sonderzeichen:
"!@#$%^&*()"
- Test mit Zahlen:
"1234567890"
Das Ergebnis ist eine Liste, die für jedes Zeichen in den Zeichenketten den ASCII-Wert zusammen mit dem Zeichen ausgibt.
Die Funktion chr() ermöglicht den Anwendern, sich zu jedem Zahlenwert das entsprechende ASCII-Zeichen ausgeben zu lassen. Dies ist der entgegengesetzte Weg zur Funktion ord().