chr
(PHP 4, PHP 5, PHP 7, PHP 8)
chr — Erzeugt eine Ein-Byte-Zeichenkette aus einer Zahl
Beschreibung
$codepoint
): string
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().
Parameter-Liste
-
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;
Rückgabewerte
Eine einstellige Zeichenkette, die das angegebene Byte enthält.
Changelog
Version | Beschreibung |
---|---|
7.4.0 |
Die Funktion akzeptiert nicht unterstütze
codepoint s nicht mehr stillschweigend und setzt
diese auf 0 .
|
Beispiele
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); /* fügt das Escape-Zeichen an das Ende von $str an */
/* Die häufig praktischere Lösung: */
$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:
🐘
Siehe auch
- sprintf() - Gibt einen formatierten String zurück mit der Formatierungsanweisung
%c
- ord()
- Eine » ASCII-Tabelle
- mb_chr()
- IntlChar::chr()