如何使用PHP函数将字符串从驼峰式转换为下划线式?
发布时间:2023-07-04 11:54:51
在PHP中,可以使用多种方法将字符串从驼峰式转换为下划线式。下面是几种常用的方法:
方法一:使用preg_replace和正则表达式
function camelToUnderscore($str){
$pattern = '/([a-z])([A-Z])/';
$replacement = '${1}_${2}';
$result = preg_replace($pattern, $replacement, $str);
$result = strtolower($result);
return $result;
}
// 示例用法
$str = 'camelCaseString';
$result = camelToUnderscore($str);
echo $result; // 输出:camel_case_string
方法二:使用str_replace函数
function camelToUnderscore($str){
$str = preg_replace('/([a-z])([A-Z])/', "\\1_\\2", $str);
$result = strtolower($str);
return $result;
}
// 示例用法
$str = 'camelCaseString';
$result = camelToUnderscore($str);
echo $result; // 输出:camel_case_string
方法三:使用ucwords、str_replace和strtolower函数
function camelToUnderscore($str){
$str = str_replace('_', ' ', $str);
$str = ucwords($str);
$result = str_replace(' ', '_', $str);
$result = strtolower($result);
return $result;
}
// 示例用法
$str = 'camelCaseString';
$result = camelToUnderscore($str);
echo $result; // 输出:camel_case_string
方法四:使用preg_replace_callback函数配合匿名函数
function camelToUnderscore($str){
$result = preg_replace_callback(
'/[A-Z]/',
function($matches){
return '_' . strtolower($matches[0]);
},
$str
);
return $result;
}
// 示例用法
$str = 'camelCaseString';
$result = camelToUnderscore($str);
echo $result; // 输出:camel_case_string
这些方法中的每一种都可以将驼峰式的字符串转换为下划线式。您可以根据自己的喜好和需求选择其中一种来使用。
