自己写的一个驼峰和下划线命名规范互相转换的demo
下划线法主要应用于数据表及字段的命名,而驼峰法则主要在面向对象中广泛使用。
有时候,我们从数据表中取出数据,它的字段是为下划线格式的,但是我们输出的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
效果如图:
参考文章:
最新文章
全部分类