lcfirst

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

lcfirstMake a string's first character lowercase

Description

lcfirst(string $string): string

Returns a string with the first character of string lowercased if that character is an ASCII character in the range "A" (0x41) to "Z" (0x5a).

Parameters

string

The input string.

Return Values

Returns the resulting string.

Changelog

Version Description
8.2.0 Case conversion no longer depends on the locale set with setlocale(). Only ASCII characters will be converted.

Examples

Example #1 lcfirst() example

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

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

See Also

add a note add a note

User Contributed Notes 4 notes

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

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

?>
up
5
alex aulbach
16 years ago
In some cases maybe more useful?

$lower = strtolower( substr($upper,0,1) ) . substr($upper,1);
up
1
harmor
16 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