下划线与驼峰形式的转换

在与js交互的时候,由于js的代码规范是变量需为驼峰形式,而从数据库里面取出来的列名是下划线形式,就需要进行一次转换。

下划线转换成驼峰形式

思路:

  1. 找出所有下划线,用空格替换
  2. 在字符串前面加上某个特殊字符
  3. 把所有单词的首字母大写
  4. 去除空格
  5. 去除字符串最前面的特殊字符
  private function camelize($uncamelized_words,$separator='_') {
        $uncamelized_words = $separator. str_replace($separator, " ", strtolower($uncamelized_words));
        return ltrim(str_replace(" ", "", ucwords($uncamelized_words)), $separator);
    }

驼峰形式转换成下划线

思路:

  1. 正则匹配所有的大写字母
  2. 把大写字母变成下划线加字母
  3. 把所有字母变成小写
    private function uncamelize($camelCaps,$separator='_') {
        return strtolower(preg_replace('/([A-Z])/', $separator . "$1", $camelCaps));
    }