CakeFest 2024: The Official CakePHP Conference

lcfirst

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

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

Описание

lcfirst(string $string): string

Возвращает строку string, первый символ которой был преобразован в нижний регистр, если этот символ является ASCII-символом в диапазоне от "A" (0x41) до "Z" (0x5a).

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

string

Входная строка.

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

Возвращает результирующую строку.

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

Версия Описание
8.2.0 Преобразование регистра больше не зависит от локали, установленной с помощью функции setlocale(). Будут преобразованы только символы ASCII.

Примеры

Пример #1 Пример использования lcfirst()

<?php
$foo
= 'HelloWorld';
$foo = lcfirst($foo); // helloWorld

$bar = 'HELLO WORLD!';
$bar = lcfirst($bar); // hELLO WORLD!
$bar = lcfirst(strtoupper($bar)); // hELLO WORLD!
?>

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

  • ucfirst() - Преобразовывает первый символ строки в верхний регистр
  • strtolower() - Преобразовывает строку в нижний регистр
  • strtoupper() - Преобразовывает строку в верхний регистр
  • ucwords() - Преобразовывает в верхний регистр первый символ каждого слова в строке

add a note

User Contributed Notes 4 notes

up
19
phpnet at katylavallee dot com
14 years ago
Easiest work-around I've found for <5.3:
<?php

$string
= "CamelCase"
$string{0} = strtolower($string{0})
echo
$string; // outputs camelCase

?>
up
6
alex aulbach
15 years ago
In some cases maybe more useful?

$lower = strtolower( substr($upper,0,1) ) . substr($upper,1);
up
2
harmor
15 years ago
A slight modification from Northie's post here ( http://us2.php.net/manual/en/function.ucfirst.php#68443), where lcfirst may not exist in your PHP build:

<?php

if(false === function_exists('lcfirst'))
{
/**
* Make a string's first character lowercase
*
* @param string $str
* @return string the resulting string.
*/
function lcfirst( $str ) {
$str[0] = strtolower($str[0]);
return (string)
$str;
}
}

/* Tests */
echo var_dump(lcFirst(NULL)).'<br />'; /* string(0) "" */
echo var_dump(lcFirst('')) .'<br />'; /* string(0) "" */
echo var_dump(lcFirst('S')) .'<br />'; /* string(1) "S" */
echo var_dump(lcFirst('É')) .'<br />'; /* string(0) "�" */
echo var_dump(lcFirst('Hello World!!!')); /* string(14) "hello World!!!" */
up
-23
ahlers_wim at hotmail dot com
15 years ago
As of PHP release 6 direct reference modification is not permitted any more.
Reference modification is the process of manipulating characters within a string by means of the instruction such as:
$str[0] in the code line: $str[0] = strtolower($str[0]);

For this reason I have recoded the lcfirst function (on function_exists('lcfirst') === false) as follows:

<?php
if ( false === function_exists('lcfirst') ):
function
lcfirst( $str )
{ return (string)(
strtolower(substr($str,0,1)).substr($str,1));}
endif;
?>

Remarks:
Also notice that I have used the more modern scope delimeters (if:-endif;) and I have also removed the unnecessary intermediate result. That is, the manipulation is returned directly.
To Top