(PHP 4, PHP 5, PHP 7, PHP 8)
chr — Erzeugt eine Ein-Byte-Zeichenkette aus einer Zahl
Gibt eine einstellige Zeichenkette zurück, die das angegebene Zeichen enthält, wobei codepoint
als vorzeichenlose Ganzzahl interpretiert wird.
Diese Funktion kann verwendet werden, um eine einstellige Zeichenkette in einer Ein-Byte-Kodierung wie ASCII, ISO-8859 oder Windows 1252 zu erzeugen, indem die Position des gewünschten Zeichens in der Zuordnungstabelle der Kodierung übergeben wird. Allerdings ist zu beachten, dass diese Funktion keine Zeichenkettenkodierung kennt, und insbesondere kein Unicode-Codepoint übergeben werden kann, um eine Zeichenkette in einer Multibyte-Kodierung wie UTF-8 oder UTF-16 zu erzeugen.
Die Funktion ist das Gegenstück zu ord().
codepoint
Ein Integer zwischen 0 und 255.
Werte außerhalb des gültigen Bereichs (0..255) werden bitweise mit 255 und-verknüpft, was gleichwertig zu folgendem Algorithmus ist:
while ($bytevalue < 0) {
$bytevalue += 256;
}
$bytevalue %= 256;
Eine einstellige Zeichenkette, die das angegebene Byte enthält.
Version | Beschreibung |
---|---|
7.4.0 | Die Funktion akzeptiert nicht unterstütze codepoint s nicht mehr stillschweigend und setzt diese auf 0 . |
Beispiel #1 chr()-Beispiel
<?php
// Es wird angenommen, dass die Zeichenkette als ASCII oder ASCII-kompatible
// Kodierung verwendet wird
$str = "Diese Zeichenkette endet mit einem Escape-Zeichen: ";
$str .= chr(27);
$str = sprintf("Diese Zeichenkette endet mit einem Escape-Zeichen: %c", 27);
?>
Beispiel #2 Überlauf-Verhalten
<?php
echo chr(-159), chr(833), PHP_EOL;
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
aA
Beispiel #3 Erstellen einer UTF-8-Zeichenkette aus einzelnen Bytes
<?php
$str = chr(240) . chr(159) . chr(144) . chr(152);
echo $str;
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
%c