Open In App

How to Convert String to Camelcase in PHP?

Given a String containing spaces, the task is to Convert String to Camelcase in PHP. Converting a string to CamelCase is a common operation in PHP, especially when working with variable names or class names. CamelCase is a naming convention where the first letter of each word in a compound word is capitalized except for the initial word. In this article, we will cover all possible approaches to convert a string to CamelCase in PHP.

Approach 1: Using ucwords() and str_replace() Functions

One method to convert a string to CamelCase is by using the ucwords() function to capitalize the first letter of each word, and then using str_replace() to remove the spaces.

<?php 

function camelCase($string) {
    $string = str_replace(' ', '', 
        ucwords(str_replace(['-', '_'], 
        ' ', $string))
    );
  
    return $string;
}

// Driver Code
$str = 'welcome to geeks-for-geeks';
$camelCase = camelCase($str);
echo $camelCase;

?> 

Output
WelcomeToGeeksForGeeks 

Explanation:

Approach 2: Using preg_replace_callback() Function

Another approach is to use preg_replace_callback() function with a regular expression to match each word and capitalize the first letter.

<?php

function camelCase($string) {
    return preg_replace_callback('/(?:^|_| )(.?)/', 
        function($matches) {
            return strtoupper($matches[1]);
        }, $string);
}

// Driver Code
$str = 'welcome to geeks for geeks';
$camelCase = camelCase($str);
echo $camelCase;

?>

Output
WelcomeToGeeksForGeeks

Explanation:

Approach 3: Using ucwords() and strtr() Functions

This approach uses strtr() functions to replace underscores with spaces, then use ucwords() to capitalize each word, and finally str_replace() to remove spaces.

<?php

function camelCase($string) {
    $string = ucwords(
        strtr($string, 
        ['_' => ' ', '-' => ' '])
    );
    
    $string = str_replace(' ', '', $string);
    
    return $string;
}

// Driver Code
$str = 'welcome to geeks for geeks';
$camelCase = camelCase($str);
echo $camelCase;

?>

Output
welcomeToGeeksForGeeks

Explanation:

Article Tags :