(PHP 4, PHP 5, PHP 7, PHP 8)
chr — Generar un string de un byte a partir de un número
Devuelve un string de un solo carácter que contiene el carácter especificado al
interpretar codepoint como un entero sin signo.
Esto puede ser utilizado para crear un string 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 string, y en particular no puede ser transmitido un valor de punto de código Unicode para generar un string en una codificación multibyte como UTF-8 o UTF-16.
Esta función complementa ord().
codepointUn entero 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;Devuelve un string de un solo carácter que contiene el byte especificado.
| Versión | Descripción |
|---|---|
| 7.4.0 |
Esta función ya no acepta silenciosamente los codepoints
no soportados, y convierte estos valores a 0.
|
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 ejemplo anterior mostrará :
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 ejemplo anterior mostrará :
%c