欢迎访问宙启技术站
智能推送

如何使用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

这些方法中的每一种都可以将驼峰式的字符串转换为下划线式。您可以根据自己的喜好和需求选择其中一种来使用。