PHP Conference Nagoya 2025

mb_ucfirst

(PHP 8 >= 8.4.0)

mb_ucfirstПреобразовывает первый символ строки в верхний регистр

Описание

mb_ucfirst(string $string, string $encoding = null): string

Функция выполняет операцию, аналогичную функции lcfirst(), но умеет безопасно обрабатывать строки, в которых символы кодируются переменным количеством байтов. Функция возвращает строку string, первый символ которой привела к верхнему регистру.

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

string
Входная строка.
encoding
Кодировка строки.

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

Функция возвращает преобразованную строку.

Примечания

Замечание:

В отличие от стандартных функций сворачиваия и разворачивания регистра наподобие strtolower() и strtoupper(), преобразование регистра выполняется на основе свойств символов Юникода. Поэтому поведение функции не зависит от региональных настроек, а функция умеет преобразовывать символы с Юникод-свойством 'alphabetic' наподобие символа буквы «а» с умлаутом — ä.

Дополнительная информация о свойствах символов Юникода доступна по ссылке » http://www.unicode.org/reports/tr21/.

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

  • mb_lcfirst() - Преобразовывает первый символ строки в нижний регистр
  • mb_convert_case() - Меняет регистр символов в строке
  • ucfirst() - Преобразовывает первый символ строки в верхний регистр
Добавить

Примечания пользователей 1 note

up
1
hans at loltek dot net
11 days ago
polyfill:

<?php
if(PHP_VERSION_ID < 80400) {
function
mb_ucfirst(string $str, string $encoding = null): string
{
if (
$encoding === null) {
$encoding = mb_internal_encoding();
}
return
mb_strtoupper(mb_substr($str, 0, 1, $encoding), $encoding) . mb_substr($str, 1, null, $encoding);
}

}
?>

if you wonder why i bother with mb_internal_encoding: prior to php7, $encoding was not nullable. if your polyfill don't need php5.6 support, you can drop it.
To Top