PHP 7.1.0 Release Candidate 3 Released

lcfirst

(PHP 5 >= 5.3.0, PHP 7)

lcfirstMake a string's first character lowercase

Description

string lcfirst ( string $str )

Returns a string with the first character of str lowercased if that character is alphabetic.

Note that 'alphabetic' is determined by the current locale. For instance, in the default "C" locale characters such as umlaut-a (ä) will not be converted.

Parameters

str

The input string.

Return Values

Returns the resulting string.

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
11
phpnet at katylavallee dot com
7 years ago
Easiest work-around I've found for <5.3:
<?php

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

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

$lower = strtolower( substr($upper,0,1) ) . substr($upper,1);
up
4
harmor
8 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
-9
ahlers_wim at hotmail dot com
7 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