本篇文章教大家实现驼峰命名和下划线命名互转,在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

第二种方法更为巧妙高效,推荐使用第二种方法/** * 下划线转驼峰 * 思路: * 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. Python类属性、类方法和静态方法

    Python类属性.类方法和静态方法 在Python中,一切皆对象.通过类创建出来的对象是实例对象,类本身也是对象,称为类对象. 一.类属性 对象都有属性,我们常说的对象属性是实例对象拥有的属性,又称 ...

  2. [转载] Python类属性、类方法和静态方法

    参考链接: Python中的类和实例属性 Python类属性.类方法和静态方法 在Python中,一切皆对象.通过类创建出来的对象是实例对象,类本身也是对象,称为类对象. 一.类属性 对象都有属性,我 ...

  3. Python 类属性与实例属性

    首先我们简要说下类属性与实例属性在概念上的不同之处: 类属性是在类中定义的属性,它是和这个类所绑定的,这个类中的所有对象都可以访问.访问时可以通过类名来访问,也可以通过实例名来访问. 实例属性是与类的 ...

  4. 如何配置数据库带有下划线字段对应Java实体类属性(驼峰命名)

    一般开发中,数据库字段设计推荐使用下划线(u_name),Java实体类属性使用驼峰命名(uName),为了能使数据库字段与Java实体类属性一一映射,需要做一下的配置,这里我用的是spring bo ...

  5. 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)

    27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...

  6. 类属性、类方法;私有属性、公有属性;私有方法、公有方法;静态属性、静态方法;python的命名规范__xx__\__xx\_xx(自用笔记)

    Ⅰ.类属性.类方法(类和实例都能调用类属性和类方法) 类是一个特殊的对象,Python 中 一切皆对象:class AAA: #定义的类属于 类对象obj1 = AAA() #属于 实例对象 除了封装 ...

  7. java下划线转小驼峰,java 下划线转驼峰 驼峰转下划线

    public class StringUtil { /** 下划线转驼峰 * user_name ----> userName * house.user_name ----> userNa ...

  8. 你是喜欢用下划线还是小驼峰呢?

    通常每种语言都有自己的 Coding Style, 比如 C/C++ 和 python 是下划线,java 和 go 是驼峰.所以按照语言的规范来命名比较合理. 驼峰派: 1:从按键上来说,驼峰是SH ...

  9. android 怎么初始化下拉框_第30讲:“二师兄”的成长历程之二,类属性的初始化...

    在上一篇中我们建立了一个极为简单的pigsy类,在这个类中我们定义了三个属性,一个方法.在谈到类对象在初始化的时候,我们特意的指出:某些属性可以通过自动初始化来设置,这样也会省去你一些麻烦.这就是本篇 ...

  10. Mybatis 解决数据库字段名和实体类属性名不一致问题

    一.问题描述 1.1 查询 password 字段为 null 现象 数据库字段名: 实体类属性名: @Data @NoArgsConstructor @AllArgsConstructor publ ...

最新文章

  1. JS Array 中 shift 和 pop 的妙用
  2. MySQL—03—MySQL的查询
  3. oracle 序列验证脚本,oracle 生成序列脚本
  4. mysql中的存储机制_Mysql的存储引擎
  5. java 8 kafka 0.82,运行kafka-console-producer.sh的异常(0.8.1.1)
  6. 期刊第8期 | 分享C/C++嵌入式系统编程思想
  7. VS2017社区版+Qt5.12.2+VTK8.2环境搭建
  8. antd-vue表格内部换行
  9. 如何使用 Xcode8 进行开发调试
  10. android实现刷卡功能,Android 实现银联刷卡机消费后手动签名的功能(示例代码)
  11. 赵小楼《天道》《遥远的救世主》深度解析(64)丁元英帮芮小丹审讯王明阳的切入点是什么?
  12. android指南针功能,轻松实现Android指南针功能
  13. 如何快速实现增长App用户量?
  14. 如何防止Excel工作表名称被修改
  15. 实体店客户邀新,为什么你给客户返点效果却不好,是哪里出问题了
  16. “名师带教,共同成长“渭南市马红“名师+”研修共同体2022年工作计划
  17. 用soa搭建统一的电子政务平台
  18. GetMessage和PeekMessage的区别及PostMessage(hWnd, WM_QUIT, 0, 0)消息
  19. Android中BroadCaseReceiver的基本用法(一)之监听系统广播
  20. Java 线程死锁及如何避免死锁介绍

热门文章

  1. 悉尼科技大学入选 CVPR 2021 的 9 篇论文,都研究什么?
  2. IBM中国研究院被曝已全面关闭
  3. 语义分割该如何走下去?
  4. 身边的隐形富豪,都有哪些特征?
  5. 如何设计可自学习的五子棋AI?
  6. 美多商城之订单(提交订单2)
  7. 装饰器方式的添加路由
  8. Redis中哈希hash数据类型(增加修改(设置单一属性、设置多个属性)、获取(获取键所有属性、获取单一属性值、获取多个属性值)、删除、使用hash可能出现的问题)
  9. Graph2Vec在XFL论文中提及的用处
  10. 汇编语言学习-寄存器(内存访问)