Note: the return for this function changed in versions 4.3 when a string is passed of length 0. In <4.2 false is returned and in >4.3 a string of length 0 is returned.
Example:
$name = ucfirst("");
var_dump($name);
$name = ucfirst("owen");
var_dump($name);
Results for <4.2:
bool(false) string(4) "Owen"
Results for >4.3:
string(0) "" string(4) "Owen"