PHP ucfirst

Summary: in this tutorial, you’ll learn how to use the PHP ucfirst() function to make the first alphabetic character uppercase.

Introduction to the PHP ucfirst() function

The ucfirst() function accepts a string and returns a new string with the first character converted to uppercase if that character is alphabetic.

Here’s the syntax of the ucfirst() function:

ucfirst ( string $string ) : stringCode language: PHP (php)

The ucfirst() function use the current locale to determine which character is alphabetic.

PHP ucfirst() function example

The following example uses the ucfirst() function to convert the first characters of the first name and last name to uppercase:

<?php

$first_name = 'john';
$last_name = 'doe'

echo ucfirst($first_name) . ' ' . ucfirst($last_name); Code language: PHP (php)

Output:

John DoeCode language: PHP (php)

Dealing with multibyte characters

The ucfirst() doesn’t support multibyte strings. To return a new string with the first character converted to uppercase, you can use the following mb_ucfirst() function:

<?php 

function mb_ucfirst($str)
{
    return  mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
}Code language: PHP (php)

How it works.

First, get the first character of the $str using the mb_substr() function and convert it to uppercase using the mb_strtoupper() function:

mb_strtoupper(mb_substr($str, 0, 1))Code language: PHP (php)

Then, concatenate the uppercase character with the remaining characters in the string:

mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);Code language: PHP (php)

The following example uses the ucfirst() to convert the first letter of the string äbtissin to uppercase:

<?php

$title = 'äbtissin';
echo ucfirst($title); // doesn't workCode language: PHP (php)

Output:

äbtissinCode language: PHP (php)

However, it doesn’t work as expected. Because in the default “C” locale characters, the ucfirst() function doesn’t convert character like umlaut-a (ä).

The following uses the mb_ucfirst() function instead:

<?php

$title = 'äbtissin';
echo mb_ucfirst($title);Code language: PHP (php)

Output:

ÄbtissinCode language: PHP (php)

Now, it works as expected.

Summary

  • Use the ucfirst() function to returns a string with the first alphabetic character converted to uppercase.
Did you find this tutorial useful?