chr

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

chrГенерирует однобайтовую строку из числа

Описание

chr(int $codepoint): string

Функция возвращает строку из одного символа, который определяет путём интерпретации кодовой точки codepoint как целого беззнакового числа.

Функцией создают односимвольную строку в однобайтовой кодировке наподобие ASCII, ISO-8859 или Windows 1252 путём передачи позиции необходимого символа в таблице сопоставления кодировки. Обратите внимание, функция не распознаёт кодировку строк и не передаёт значение кодовой точки Юникода для генерации строки в многобайтовой кодировке наподобие UTF-8 или UTF-16.

Эта функция дополняет функцию ord().

Список параметров

codepoint

Целое число от 0 до 255.

Значения, которые выходят за пределы допустимого диапазона 0..255, необходимо сложить со значением 255 через побитовое И, что соответствует такому алгоритму:

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

Возвращаемые значения

Функция возвращает односимвольную строку, которая содержит заданный байт.

Список изменений

Версия Описание
7.4.0 Функция больше не принимает без уведомления неподдерживаемые кодовые точки codepoint и приводит их к 0.

Примеры

Пример #1 Пример использования функции chr()

<?php

// Предполагается, что строка будет использована в кодировке ASCII или в ASCII-совместимой кодировке

$str = "Эта строка заканчивается символом escape: ";
$str .= chr(27); /* добавляет символ escape в конец переменной $str */

/* Часто такой код полезнее */

$str = sprintf("Эта строка заканчивается на escape: %c", 27);

?>

Пример #2 Поведение при переполнении

<?php

echo chr(-159), chr(833), PHP_EOL;

?>

Результат выполнения приведённого примера:

aA

Пример #3 Пример создания строки в кодировке UTF-8 из отдельных байтов

<?php

$str
= chr(240) . chr(159) . chr(144) . chr(152);

echo
$str;

?>

Результат выполнения приведённого примера:


🐘

Смотрите также

  • sprintf() - Возвращает отформатированную строку с форматированием через спецификатор %c
  • ord() - Преобразовывает первый байт строки в число от 0 до 255
  • » Таблица ASCII-кодов
  • mb_chr() - Возвращает символ по значению кодовой точки Unicode
  • IntlChar::chr() - Возвращает символ Юникода по значению кодовой точки