How to Convert Camel Case to Snake Case in PHP ?
Given a Camel Case String, the task is to convert the Camel Case String to a Snake Case String in PHP.
Examples:
Input: w3wiki
Output: Beginner_for_Beginner
Input: WelcomeToGfg
Output: welcome_to_gfg
Camel case uses capital letters at the beginning of each word except the first one, while snake case separates words with underscores and uses all lowercase letters.
Table of Content
- Using Manual Conversion
- Using Regular Expressions
Approach 1: Using Manual Conversion
The simplest way to convert camel case to snake case is to do it manually by iterating through each character of the string and inserting an underscore before each capital letter.
PHP
<?php function camelToSnake( $camelCase ) { $result = '' ; for ( $i = 0; $i < strlen ( $camelCase ); $i ++) { $char = $camelCase [ $i ]; if (ctype_upper( $char )) { $result .= '_' . strtolower ( $char ); } else { $result .= $char ; } } return ltrim( $result , '_' ); } // Driver code $camelCase = 'WelcomeTow3wiki' ; $snakeCase = camelToSnake( $camelCase ); echo $snakeCase ; ?> |
Output
welcome_to_Beginner_for_Beginner
Approach 2: Using Regular Expressions
Regular expressions provide a concise way to achieve the conversion from camel case to snake case.
PHP
<?php function camelToSnake( $camelCase ) { $pattern = '/(?<=\\w)(?=[A-Z])|(?<=[a-z])(?=[0-9])/' ; $snakeCase = preg_replace( $pattern , '_' , $camelCase ); return strtolower ( $snakeCase ); } // Driver code $camelCase = 'WelcomeTow3wiki' ; $snakeCase = camelToSnake( $camelCase ); echo $snakeCase ; ?> |
Output
welcome_to_Beginner_for_Beginner