自己写的一个驼峰和下划线命名规范互相转换的demo

 费德  2016/08/27 10:36  686 次

下划线法主要应用于数据表及字段的命名,而驼峰法则主要在面向对象中广泛使用。
有时候,我们从数据表中取出数据,它的字段是为下划线格式的,但是我们输出的json数据,字段约定规范为驼峰法
如果,采用下面这个方式,特别麻烦,而且如果字段值不确定,这个方式也行不通。

  
$i = 0;
foreach ($res as $key => $val){
    $data[$i]['id'] = $val['id'];
    $data[$i]['name'] = $val['name'];
    $data[$i]['description'] = $val['description'];
    $data[$i]['leftCount'] = $val['left_count'];
    //获取封面图的链接
    $imageName = substr(0,strpos($val['images_list'],','));
    if(!$imageName){
        $imageName = $val['images_list'];
    }
    $data[$i]['cover'] = config('QINIU_Url').$imageName;
    $data[$i]['price'] = $val['price'];
    $data[$i]['originalPrice'] = $val['original_price'];
    $data[$i]['browsingTimes'] = $val['browsing_times'];
    $data[$i]['releaseTime'] = date('20y年m月d日 H:i',$val['release_time']);
    $i++;
}

鉴于这种情况,我特地写了一个简单的demo来互相转换这两种格式,以便解放生产力~

<?php
//转换成驼峰法
function transCamel($underlineStr){
    //先变成以空格分隔的字符串
    $str = str_replace('_',' ',$underlineStr);
    //字符串大写
    $str = ucwords($str);
    //去除空格
    $str = str_replace(' ','',$str);
    $camcelStr = lcfirst($str);
    return $camcelStr;
}

//转换成下划线法
function transUnderline($camcelStr){
    return strtolower(preg_replace('/((?<=[a-z])(?=[A-Z]))/', '_', $camcelStr));
}
echo transCamel('hello_world');//输出helloWorld

echo "<br>";

echo transUnderline("helloWorld");//输出hello_world

效果如图:
20160827103842.png

参考文章:

 作者:费德

少年费德的奇幻漂流

本博客如无特殊说明皆为原创,转载请注明来源:自己写的一个驼峰和下划线命名规范互相转换的demo

添加新评论