chr

(PHP 4, PHP 5, PHP 7)

chrErzeuge eine Ein-Byte-Zeichenkette aus einer Zahl

Beschreibung

chr ( int $bytevalue ) : string

Gibt einen Ein-Zeichen-String zurück, der das angegebene Zeichen enthält, wobei bytevalue als vorzeichenlose Ganzzahl interpretiert wird.

Dies kann verwendet werden, um einen Ein-Zeichen-String in einer Ein-Byte-Kodierung wie ASCII, ISO-8859 oder Windows 1252 zu erzeugen, indem die Position des gewünschten Zeichens in der Kodierungszuordnungstabelle übergeben wird. Allerdings ist zu beachten, dass diese Funktion die Zeichenkettenkodierung ignoriert, und insbesondere kein Unicode Code-Point übergeben werden kann, um eine Zeichenkette in einer Multi-Byte-Kodierung wie UTF-8 oder UTF-16 zu erzeugen.

Die Funktion ergänzt ord().

Parameter-Liste

bytevalue

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;

Rückgabewerte

Ein Ein-Zeichen-String, der das angegebene Byte enthält.

Beispiele

Beispiel #1 chr()-Beispiel

<?php
// Es wird angenommen, dass die Zeichenkette als ASCII oder ASCII-kompatible Kodierung verwendet wird
$str "Dieser String endet mit einem Escape-Zeichen: ";
$str .= chr(27); /* fügt das Escape-Zeichen an das Ende von $str an */

/* Die häufig praktischere Lösung: */

$str sprintf("Dieser String 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 eines UTF-8-String aus einzelnen Bytes

<?php
declare(encoding='UTF-8');
$str chr(240) . chr(159) . chr(144) . chr(152);
echo 
$str;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:


🐘

Siehe auch