你不能正常工作吗?

时间:2013-06-20 13:39:37

标签: php ucfirst

我可能错过了一些非常明显的东西。

在将一串字符串插入数组之前转换它时,我注意到一些字符串彼此不同,因为第一个字符串是大写字母。我决定然后使用ucfirst使第一个字符大写,但它似乎无法正常工作,我在网上试图弄清楚为什么会发生这种情况,但我没有运气。

$produtto = 'APPLE';
echo ucfirst($produtto);
//output: APPLE

如果我使用mb_convert_case

$produtto = 'APPLE';
echo mb_convert_case($produtto, MB_CASE_TITLE, "UTF-8");
//Output: Apple

4 个答案:

答案 0 :(得分:14)

ucfirst()只会查看第一个字符,因此您应首先将其转换为小写字母。

使用此:

$produtto = 'APPLE';
echo ucfirst(strtolower($produtto));
//output: Apple

答案 1 :(得分:1)

在第一种情况下,我假设你首先需要用strtolower将它们小写,然后在字符串上使用ucfirst

答案 2 :(得分:0)

阅读手册! APPLE =大写..所以ucfirst什么都不做。

www.php.net/ucfirst

$foo = 'hello world!';
$foo = ucfirst($foo);             // Hello world!

$bar = 'HELLO WORLD!';
$bar = ucfirst($bar);             // HELLO WORLD!
$bar = ucfirst(strtolower($bar)); // Hello world!

答案 3 :(得分:0)

http://php.net/manual/en/function.mb-convert-case.php

MB_CASE_TITLE与ucfirst()不同。 ucfirst只对第一个角色感兴趣。 MB_CASE_TITLE是关于整个字符串并使其成为初始大写字符串。