我可能错过了一些非常明显的东西。
在将一串字符串插入数组之前转换它时,我注意到一些字符串彼此不同,因为第一个字符串是大写字母。我决定然后使用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
答案 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是关于整个字符串并使其成为初始大写字符串。