PHP 5.6.0 released

lcfirst

(PHP 5 >= 5.3.0)

lcfirst文字列の最初の文字を小文字にする

説明

string lcfirst ( string $str )

str の最初の文字がアルファベットであれば、 それを小文字にします。

「アルファベット」かどうかというのは現在のロケールにより決定されます。 たとえば、デフォルトの "C" ロケールでは、a ウムラウト (ä) は変換されません。

パラメータ

str

入力文字列。

返り値

変換後の文字列を返します。

例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 add a note

User Contributed Notes 4 notes

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

$lower = strtolower( substr($upper,0,1) ) . substr($upper,1);
up
7
phpnet at katylavallee dot com
5 years ago
Easiest work-around I've found for <5.3:
<?php

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

?>
up
-1
harmor
6 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
-3
ahlers_wim at hotmail dot com
5 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