chr

(PHP 4, PHP 5, PHP 7, PHP 8)

chrErzeugt eine Ein-Byte-Zeichenkette aus einer Zahl

Beschreibung

chr(int$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

VersionBeschreibung
7.4.0 Die Funktion akzeptiert nicht unterstütze codepoints 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);



$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() - Konvertiert das erste Byte einer Zeichenkette in einen Wert zwischen 0 und 255
  • Eine » ASCII-Tabelle
  • mb_chr() - Return character by Unicode code point value
  • IntlChar::chr() - Return Unicode character by code point value
To Top