chr

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

chrGenerar un string de un byte a partir de un número

Descripción

chr(int $codepoint): string

Devuelve un chaîne de caractères de un solo carácter que contiene el carácter especificado al interpretar codepoint como un entier sin signo.

Esto puede ser utilizado para crear un chaîne de caractères de un solo carácter en una codificación de un byte como ASCII, ISO-8859 o Windows 1252, pasando la posición del carácter deseado en la tabla de correspondencia de la codificación. Sin embargo, es importante tener en cuenta que esta función no es consciente de ninguna codificación de chaîne de caractères, y en particular no puede ser transmitido un valor de punto de código Unicode para generar un chaîne de caractères en una codificación multibyte como UTF-8 o UTF-16.

Esta función complementa ord().

Parámetros

codepoint

Un entier entre 0 y 255;

Los valores fuera del rango válido (0..255) serán convertidos a valor positivo, y terminarán en 255, lo que es equivalente al siguiente algoritmo:

while ($bytevalue < 0) {
$bytevalue += 256;
}
$bytevalue %= 256;

Valores devueltos

Devuelve un chaîne de caractères de un solo carácter que contiene el byte especificado.

Historial de cambios

Versión Descripción
7.4.0 Esta función ya no acepta silenciosamente los codepoints no soportados, y convierte estos valores a 0.

Ejemplos

Ejemplo #1 Ejemplo con chr()

<?php
// Supone que el string será utilizado como ASCII o una codificación
// compatible con este

$str = "The string ends in escape: ";

// Añade un carácter de escape al final del string $str
$str .= chr(27);
echo
$str, PHP_EOL;
// Esto es a menudo más práctico, y realiza lo mismo

$str = sprintf("The string ends in escape: %c", 27);
?>

Ejemplo #2 Comportamiento de desbordamiento

<?php
echo chr(-159), chr(833), PHP_EOL;
?>

El resultado del ejemplo sería:

aA

Ejemplo #3 Construir un string UTF-8 a partir de bytes individuales

<?php
$str
= chr(240) . chr(159) . chr(144) . chr(152);
echo
$str, PHP_EOL;
?>

El resultado del ejemplo sería:


🐘

Ver también

  • sprintf() - Devuelve una string formateada con el carácter de formato %c
  • ord() - Convierte el primer byte de un string en un valor entre 0 y 255
  • » Tabla ASCII
  • mb_chr() - Devuelve un carácter por su valor de punto de código Unicode
  • IntlChar::chr() - Devuelve el carácter Unicode por valor de punto de código