![](https://mu-mu.cn/blog/wp-content/uploads/2020/08/image-1-1024x482.png)
这道题描述起来也是十分地简单,就是把原先用 '-','_'隔开的字符串转为驼峰法,也就是单词紧贴在一起,且单词的首字母大写(除了第一个单词之外)。我的想法是,将字符串按照 '-','_' 分割成多个数组,再将一个个数组,也就是单词拼接起来,就是我们需要的了。
function toCamelCase($str){
$str = str_replace('_','-',$str);
$array = explode('-',$str);
$newStr = $array[0];
for($i=1;$i<count($array);$i++) {
$newStr .= ucfirst($array[$i]);
}
return $newStr;
}
不过像这种对字符串的查找、替换等操作,用正则应该才是正解,接下来是大佬们的代码。
1、使用preg_replace_callback函数,第一个参数是正则表达式匹配到的字符,第二个参数是执行的回调函数,第三个参数是目标(字符串或者数组)。
使用正则匹配到 '-字母' 或者 '_字母' 的情况,然