c语言编程笔录

首页 >   > 笔记大全

笔记大全

php驼峰式写法如何转换下划线

更新时间:2023-10-18

在PHP中,常常会使用驼峰式命名规范(CamelCase)来命名变量、函数和类名。驼峰式命名规范的特点是单词首字母大写,其余字母小写,并且单词之间没有下划线。有时,我们需要将驼峰式命名转换为下划线命名,例如在数据库中使用下划线命名字段。

使用正则表达式替换

一种常见的方法是使用正则表达式来在驼峰式命名中添加下划线,并将所有字母转换为小写。

function camelCaseToUnderscore($str)
{
    $str = preg_replace('/(.)(?=[A-Z])/u', '$1_', $str);
    return strtolower($str);
}

// 示例
echo camelCaseToUnderscore("myVariableName"); // 输出: my_variable_name

使用函数和循环遍历

另一种方法是使用函数和循环来遍历驼峰式命名的每个字符,并根据需要添加下划线。

function camelCaseToUnderscore($str)
{
    $result = '';
    $length = strlen($str);

    for ($i = 0; $i < $length; $i++) {
        if (ctype_upper($str[$i])) {
            $result .= '_' . strtolower($str[$i]);
        } else {
            $result .= $str[$i];
        }
    }

    return ltrim($result, '_');
}

// 示例
echo camelCaseToUnderscore("myVariableName"); // 输出: my_variable_name

使用内置函数和正则表达式

PHP也提供了内置函数和正则表达式来实现这个转换,例如使用 preg_replace_callback() 函数和回调函数来处理每个单词的首字母大写,以及使用 strtolower() 函数将整个字符串转换为小写。

function camelCaseToUnderscore($str)
{
    return strtolower(preg_replace_callback('/([A-Z])/', function($matches) {
        return '_' . strtolower($matches[1]);
    }, $str));
}

// 示例
echo camelCaseToUnderscore("myVariableName"); // 输出: my_variable_name

总结

本文介绍了三种将驼峰式命名转换为下划线命名的方法,包括使用正则表达式替换、使用函数和循环遍历以及使用内置函数和正则表达式。根据实际情况,你可以选择其中一种方法进行转换,并在代码中使用相应的函数来实现字符串的格式转换。