I'm probably missing something really obvious.
While converting a bunch of string before inserting them in a array I noticed some string where different among each other because of first char being uppercase or not. I decided then to use ucfirst to make first character uppercase but it seems it doesn't work properly, I have had a look around on the web trying to figure out why this is happening but I had no luck.
$produtto = 'APPLE';
echo ucfirst($produtto);
//output: APPLE
If I use instead mb_convert_case
$produtto = 'APPLE';
echo mb_convert_case($produtto, MB_CASE_TITLE, "UTF-8");
//Output: Apple
In the first case I assume you would first need to turn them lowercase with strtolower, and then use ucfirst on the string.
ucfirst() only looks at the first character so you should convert to lowercase first.
Use this:
$produtto = 'APPLE';
echo ucfirst(strtolower($produtto));
//output: Apple
http://php.net/manual/en/function.mb-convert-case.php
MB_CASE_TITLE is not the same as ucfirst(). ucfirst is only interested in the first character. MB_CASE_TITLE is about the whole string and making it an initial capital string.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With