©
本文档使用 PHP中文网手册 发布
(PHP 5 >= 5.3.0)
lcfirst — 使一个字符串的第一个字符小写
$str
)
返回str
的第一个字符小写了的字符串。如果str
的第一个字符是字母,则将其转换为小写。
需要注意的是“字母”是由当前语言区域决定的。比如,在默认的“C”区域像日耳曼语系中的元音变音a (?) 将不会被转换。
str
输入的字符串。
返回转换后的字符串。
Example #1 lcfirst() 例子:
<?php
$foo = 'HelloWorld' ;
$foo = lcfirst ( $foo ); // helloWorld
$bar = 'HELLO WORLD!' ;
$bar = lcfirst ( $bar ); // hELLO WORLD!
$bar = lcfirst ( strtoupper ( $bar )); // hELLO WORLD!
?>
[#1] phpnet at katylavallee dot com [2009-04-02 08:50:42]
Easiest work-around I've found for <5.3:
<?php
$string = "CamelCase"
$string{0} = strtolower($string{0})
echo $string; // outputs camelCase
?>
[#2] ahlers_wim at hotmail dot com [2008-11-22 21:48:49]
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.
[#3] alex aulbach [2008-10-06 09:20:50]
In some cases maybe more useful?
$lower = strtolower( substr($upper,0,1) ) . substr($upper,1);
[#4] harmor [2008-05-05 15:43:12]
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'))
{
function lcfirst( $str ) {
$str[0] = strtolower($str[0]);
return (string)$str;
}
}
echo var_dump(lcFirst(NULL)).'<br />';
echo var_dump(lcFirst('')) .'<br />';
echo var_dump(lcFirst('S')) .'<br />';
echo var_dump(lcFirst('?')) .'<br />';
echo var_dump(lcFirst('Hello World!!!'));