(PHP 4, PHP 5, PHP 7, PHP 8)
chr — Генерирует односимвольную строку по заданному числу
Возвращает строку из одного символа, код которого задан аргументом
codepoint
, который интерпретируется как
беззнаковое целое (unsigned integer).
Может использоваться для создания строки из одного символа однобайтовой кодировки, например, такой как 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;
?>
Результат выполнения приведённого примера:
%c
функции sprintf() - Возвращает отформатированную строку