1

Lcfirst: примеры (PHP)

Преобразование первого символа строки в PHP с помощью lcfirst
Раздел: Работа со строками
lcfirst(string $string): string
Описание функции lcfirst

Функция lcfirst в языке PHP преобразует первый символ строки в нижний регистр. Она используется в задачах форматирования текста, где требуется обеспечить определённый стиль написания без изменения остальной части строки.

Эта функция применяется для корректного отображения имен собственных, заголовков или при приведении строк к единому стилю. Её использование актуально при обработке пользовательского ввода или данных из внешних источников.

Аргументы функции

Функция принимает один обязательный параметр:

  • string - строка, первый символ которой необходимо преобразовать в нижний регистр.

Функция возвращает строку с первым символом в нижнем регистре. Если строка пустая, возвращается пустая строка. В PHP 8 поведение функции строго типизировано: при передаче значения, отличного от строки, будет выброшена ошибка TypeError.

Примеры использования lcfirst

Базовый пример работы функции:

echo lcfirst('Hello World');
hello World

Обработка строки, начинающейся с цифры:

echo lcfirst('123ABC');
123ABC

Работа с пустой строкой:

var_dump(lcfirst(''));
string(0) ""

Преобразование строки с кириллическим символом:

echo lcfirst('Привет мир');
привет мир
Похожие функции в PHP

В PHP существует несколько функций для изменения регистра символов:

  • ucfirst — преобразует первый символ строки в верхний регистр. Используется для капитализации строк.
  • strtolower — преобразует все символы строки в нижний регистр. Применяется для полного приведения строки к нижнему регистру.
  • ucwords — преобразует в верхний регистр первый символ каждого слова в строке. Подходит для форматирования заголовков.
  • mb_lcfirst (не встроенная) — пользовательская реализация для многобайтовых кодировок. Используется для корректной работы с Unicode.

Функцию lcfirst предпочтительнее применять, когда необходимо изменить только первый символ строки, сохранив регистр остальных символов. Для полного преобразования строки используется strtolower, а для капитализации — ucfirst.

Типичные ошибки

Передача аргумента не строкового типа в PHP 8 вызывает ошибку:

echo lcfirst(123);
TypeError: lcfirst(): Argument #1 ($string) must be of type string, int given

Некорректная работа с многобайтовыми кодировками без учёта кодировки:

echo lcfirst('Электронный');
электронный

Этот пример работает корректно в UTF-8, но для сложных случаев рекомендуется использовать многобайтовые функции.

Ожидание изменения исходной строки. Функция возвращает новую строку, не изменяя оригинал:

$str = 'Hello';
lcfirst($str);
echo $str;
Hello

Для сохранения результата необходимо присвоить возвращаемое значение переменной.

Изменения в версиях PHP

В PHP 8.0 была усилена типизация функции. Аргумент должен быть строкового типа, иначе возникает TypeError. В предыдущих версиях нестроковые аргументы преобразовывались в строку.

До PHP 8:

echo lcfirst(123); // Преобразование int в string
123

В PHP 8 и выше такое использование вызовет ошибку, что способствует более строгому и безопасному коду.

Расширенные примеры

Использование в цепочке строковых функций для форматирования предложения:

Пример php
$text = 'THIS IS A TITLE.';
$formatted = lcfirst(strtolower($text));
echo $formatted;
tHIS IS A TITLE.

Обработка массива строк с преобразованием первых символов:

Пример php
$names = ['John Doe', 'Jane Smith', 'ALICE'];
$result = array_map('lcfirst', $names);
print_r($result);
Array
(
    [0] => john Doe
    [1] => jane Smith
    [2] => aLICE
)

Создание пользовательской функции для многобайтовых строк:

Пример php
function mb_lcfirst($string, $encoding = 'UTF-8') {
    $firstChar = mb_substr($string, 0, 1, $encoding);
    $rest = mb_substr($string, 1, null, $encoding);
    return mb_strtolower($firstChar, $encoding) . $rest;
}
echo mb_lcfirst('Привет Мир');
привет Мир

Использование в пользовательском форматировании для генерации CSS-классов:

Пример php
$componentName = 'Button';
$cssClass = 'js-' . lcfirst($componentName);
echo $cssClass;
js-button

Нормализация данных из формы, где пользователь мог ввести текст с заглавной буквы:

Пример php
$userInput = '   Важный текст';
$normalized = lcfirst(trim($userInput));
echo $normalized;
важный текст
Аналоги в других языках

Lcfirst в Javascript

В JavaScript нет встроенной функции lcfirst, но её можно реализовать:

function lcfirst(str) {
    return str.charAt(0).toLowerCase() + str.slice(1);
}
console.log(lcfirst('Hello World'));
hello World

Lcfirst в Python

Python также не имеет прямой аналогии, но позволяет легко выполнить преобразование:

def lcfirst(s):
    return s[0].lower() + s[1:] if s else ''

print(lcfirst('Hello World'))
hello World

Lcfirst в MySQL

В MySQL используется функция LOWER в комбинации с CONCAT:

SELECT CONCAT(LOWER(LEFT('Hello World', 1)), SUBSTRING('Hello World', 2));
hello World

Отличие PHP функции в её простоте и прямом назначении, тогда как в других языках часто требуется комбинировать методы.

PHP lcfirst function comments

En
Lcfirst Make a string's first character lowercase