Сделать первую букву строки заглавной на PHP

Бывает необходимым сделать первую букву строки заглавной и это легко решается при помощи функции ucfirst, предназначение данной функции - преобразовать первый символ строки в верхний регистр. Делаем так:
$line = 'line example';
echo ucfirst($line);

На экране получим:
Line example

Все просто и понятно. Но, как вы могли заметить обрабатывали мы латинские символы, а что если мы сделаем тоже самое, но с кириллическими символами:
$line = 'пример строки';
echo ucfirst($line);

На экране будет:
пример строки

То есть преобразование не произошло... Есть вариант заменить функцию ucfirst на вот такую конструкцию:
mb_strtoupper(mb_substr($line, 0, 1)) . mb_substr($line, 1);

Где используются две функции:
  1. mb_strtoupper - преобразует строку в верхний регистр.
  2. mb_substr - возвращает часть строки.

Делаем так:
$line = 'пример строки';
echo mb_strtoupper(mb_substr($line, 0, 1)) . mb_substr($line, 1);

И получаем результат на экране:
Пример строки

Все работает! Получается тут: mb_strtoupper(mb_substr($line, 0, 1)) мы "вырываем" первый символ и переводим его в заглавную букву. А тут: mb_substr($line, 1) удаляем первый символ из строки вообще, а после соединяем заглавный символ и строку без первого знака.

Надеюсь мое сообщение было вам полезным.
Спасибо за внимание.
Автор: