本篇文章教大家实现驼峰命名和下划线命名互转,在php开发中经常需要两种命名法互相转换,下面为大家提供两种实现方式.

第一种方法效率相对差一些,实现方式如下://驼峰命名转下划线命名

function toUnderScore($str)

{

$dstr = preg_replace_callback('/([A-Z]+)/',function($matchs)

{

return '_'.strtolower($matchs[0]);

},$str);

return trim(preg_replace('/_{2,}/','_',$dstr),'_');

}

//下划线命名到驼峰命名

function toCamelCase($str)

{

$array = explode('_', $str);

$result = $array[0];

$len=count($array);

if($len>1)

{

for($i=1;$i

{

$result.= ucfirst($array[$i]);

}

}

return $result;

}

第二种方法更为巧妙高效,推荐使用第二种方法/**

* 下划线转驼峰

* 思路:

* step1.原字符串转小写,原字符串中的分隔符用空格替换,在字符串开头加上分隔符

* step2.将字符串中每个单词的首字母转换为大写,再去空格,去字符串首部附加的分隔符.

*/

function camelize($uncamelized_words,$separator='_')

{

$uncamelized_words = $separator. str_replace($separator, " ", strtolower($uncamelized_words));

return ltrim(str_replace(" ", "", ucwords($uncamelized_words)), $separator );

}

/**

* 驼峰命名转下划线命名

* 思路:

* 小写和大写紧挨一起的地方,加上分隔符,然后全部转小写

*/

function uncamelize($camelCaps,$separator='_')

{

return strtolower(preg_replace('/([a-z])([A-Z])/', "$1" . $separator . "$2", $camelCaps));

推荐教程:《PHP教程》

php 转驼峰,PHP实现驼峰和下划线互转相关推荐

  1. jackson 驼峰注解_jackson 常用注解,比如忽略某些属性,驼峰和下划线互转

    一般情况下使用JSON只使用了java对象与字符串的转换,但是,开发APP时候,我们经常使用实体类来做转换:这样,就需要用到注解: Jackson默认是针对get方法来生成JSON字符串的,可以使用注 ...

  2. fastjson 转下划线_fastjson 变量驼峰形式与下划线互转

    FastJson 支持配置的PropertyNamingStrategy四种策略 属性名策略说明: CamelCase策略,Java对象属性:personId,序列化后属性:persionId Pas ...

  3. 驼峰命名法(CamelCase)和下划线命名法(UnderScoreCase)

    骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始:从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName.myL ...

  4. 驼峰命名法(CamelCase)和下划线命名法(UnderScoreCase)之间的转换

    因为数据库表的字段名通常是用下划线命名法,但前端通常传的是驼峰命名法的字符串,我要将其转化为下划线命名法的字符串去数据库表中进行查询. 例: select * from use where user_ ...

  5. springboot mybatis plus 关闭驼峰式命名转换为下划线

    springboot mybatis plus 关闭驼峰式命名转换为下划线 报错信息是这样的: org.springframework.jdbc.BadSqlGrammarException: ### ...

  6. 下划线与驼峰互转(数据库字段转驼峰式命名)

    一.前言 大家在日常开发过程中,肯定遇到过需要将数据库字段读出,转换为驼峰式,或者将驼峰式反解析到数据库字段的场景,小编在写代码生成工具类时,编写了驼峰与数据库字段下划线互转功能,各位可以拿走直接使用 ...

  7. python 下划线转驼峰,Go语言json编码驼峰转下划线、下划线转驼峰的实现

    一.需求 golang默认的结构体json转码出来,都是根据字段名生成的大写驼峰格式,但是一般我们最常用的json格式是小写驼峰或者小写下划线,因此,我们非常需要一个统一的方法去转换,而不想挨个写js ...

  8. php json 驼峰 下划线,Go语言json编码驼峰转下划线、下划线转驼峰

    一.需求 golang默认的结构体json转码出来,都是根据字段名生成的大写驼峰格式,但是一般我们最常用的json格式是小写驼峰或者小写下划线,因此,我非常需要一个统一的方法去转换,而不想挨个写jso ...

  9. python 下划线转驼峰

    # 下划线转驼峰 def str2Hump(text):arr = filter(None, text.lower().split('_'))res = ''j = 0for i in arr:if ...

最新文章

  1. 科大星云诗社动态20210816
  2. Nacos配置管理-多环境配置共享
  3. windows 7系统搭建本地SVN服务器的过程
  4. LeetCode 810. 黑板异或游戏(博弈推理)
  5. Django--工程搭建
  6. utittest和pytest中mock的使用详细介绍
  7. echo linux命令_Linux echo命令示例
  8. Hibernate(5)—— 联合主键 、一对一关联关系映射(xml和注解) 和 领域驱动设计...
  9. php mysql join查询结果_PHP mySQL表JOIN查询 - 最有效的方法?
  10. 最新版Java零基础入门阶段学习教程汇总(无比全面,我收藏了!!!)
  11. vue项目开发实战案例
  12. Android 手机 超级终端命令解析
  13. ssm基于WEB的房屋出租管理系统的设计与实现161620
  14. .NET破解之百分百营销软件系列
  15. Java实现打开浏览器的N种办法
  16. HDU 5437by cyl优先队列
  17. TypeScript深度剖析:Vue项目中应用TypeScript?
  18. 编程将输入的百分制成绩转换为五分制成绩输出
  19. DVWA通过攻略之SQL注入
  20. java 定时启动window程序、自动滑动鼠标

热门文章

  1. 高数 高斯公式、泰勒公式、麦克劳伦公式、欧拉公式、傅里叶公式
  2. JAVA——死锁详解
  3. 华为机考攻略(python)--查找排序【7题】(第三题HJ27查找兄弟单词)
  4. Word公式如何进行渲染?
  5. oracle prepare耗时,Android MediaPlayer的prepare()方法太耗时问题
  6. 查询江苏丹阳高考成绩2021,2021年丹阳市高考状元名单资料,今年丹阳市高考状元多少分...
  7. Linux 管道的用法
  8. 通过Github Pages更换csdn个人域名
  9. lua把userdata写入mysql_Lua 之 userdata
  10. [bzoj4566][HAOI2016]找相同字符