(PHP 4, PHP 5, PHP 7, PHP 8)
chr — Générer une chaîne d'un octet à partir d'un nombre
Retourne une chaîne de caractères d'un seul caractère contenant le caractère spécifié en
interprétant codepoint comme un entier non signé.
Ceci peut être utilisé pour créer une chaîne de caractères d'un seul caractère dans un encodage sur un octet tel que ASCII, ISO-8859, ou Windows 1252, en passant la position du caractère désiré dans la table de correspondance de l'encodage. Cependant, il est à noter que cette fonction n'est consciente d'aucun encodage de chaîne de caractères, et en particulier ne peut pas recevoir une valeur de point de code Unicode pour générer une chaîne de caractères dans un encodage multioctet tel que UTF-8 ou UTF-16.
Cette fonction complète ord().
codepointUn entier entre 0 et 255;
Les valeurs en dehors de l'intervalle valide (0..255) seront soumises à un ET logique bit à bit avec 255, ce qui est l'équivalent de l'algorithme suivant :
while ($bytevalue < 0) {
$bytevalue += 256;
}
$bytevalue %= 256;Retourne une chaîne de caractères d'un seul caractère contenant l'octet spécifié.
| Version | Description |
|---|---|
| 7.4.0 |
Cette fonction n'accepte plus silencieusement les codepoints
non supporté, et convertit ces valeurs en 0.
|
Exemple #1 Exemple avec chr()
<?php
// Suppose que la chaîne sera utilisée en tant que ASCII ou un encodage
// compatible avec celui-ci
$str = "The string ends in escape: ";
// Ajoute un caractère d'échappement à la fin de la chaîne $str
$str .= chr(27);
echo $str, PHP_EOL;
// Ceci est souvent plus pratique, et réalise la même chose
$str = sprintf("The string ends in escape: %c", 27);
echo $str, PHP_EOL;
?>
Exemple #2 Comportement de débordement
<?php
echo chr(-159), chr(833), PHP_EOL;
?>L'exemple ci-dessus va afficher :
aA
Exemple #3 Construire une chaîne UTF-8 à partir d'octets individuels
<?php
$str = chr(240) . chr(159) . chr(144) . chr(152);
echo $str, PHP_EOL;
?>L'exemple ci-dessus va afficher :
%c