How to Convert String to Camelcase in PHP?
Last Updated :
23 Jul, 2025
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
<?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;
?>
OutputWelcomeToGeeksForGeeks
Explanation:
- First replace underscores and hyphens with spaces using str_replace() function.
- Then capitalize the first letter of each word using ucwords() function.
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
<?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;
?>
OutputWelcomeToGeeksForGeeks
Explanation:
- The regular expression /(?:^|_)(.?)/ matches the beginning of the string or an underscore followed by any character.
- The preg_replace_callback() function is used to apply a callback function to each match, converting the matched character to uppercase.
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
<?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;
?>
OutputwelcomeToGeeksForGeeks
Explanation:
- strtr is used to replace underscores and hyphens with spaces.
- Finally, we remove spaces and lowercase the first letter of the resulting string.
Approach 4: Using explode and implode
In this approach we split the string into an array of words using explode and capitalize the first letter of each word except the first one and then join them back into a single camelCase string using implode.
PHP
<?php
$string = "welcome to geekforgeeks";
$words = explode(' ', $string);
$camelCaseString = $words[0] . implode('', array_map('ucfirst', array_slice($words, 1)));
echo $camelCaseString;
?>
OutputwelcomeToGeekforgeeks