php类属性命名驼峰还是下划线,PHP实现驼峰命名和下划线命名互转
本篇文章教大家实现驼峰命名和下划线命名互转,在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实现驼峰命名和下划线命名互转相关推荐
- Python类属性、类方法和静态方法
Python类属性.类方法和静态方法 在Python中,一切皆对象.通过类创建出来的对象是实例对象,类本身也是对象,称为类对象. 一.类属性 对象都有属性,我们常说的对象属性是实例对象拥有的属性,又称 ...
- [转载] Python类属性、类方法和静态方法
参考链接: Python中的类和实例属性 Python类属性.类方法和静态方法 在Python中,一切皆对象.通过类创建出来的对象是实例对象,类本身也是对象,称为类对象. 一.类属性 对象都有属性,我 ...
- Python 类属性与实例属性
首先我们简要说下类属性与实例属性在概念上的不同之处: 类属性是在类中定义的属性,它是和这个类所绑定的,这个类中的所有对象都可以访问.访问时可以通过类名来访问,也可以通过实例名来访问. 实例属性是与类的 ...
- 如何配置数据库带有下划线字段对应Java实体类属性(驼峰命名)
一般开发中,数据库字段设计推荐使用下划线(u_name),Java实体类属性使用驼峰命名(uName),为了能使数据库字段与Java实体类属性一一映射,需要做一下的配置,这里我用的是spring bo ...
- 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)
27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...
- 类属性、类方法;私有属性、公有属性;私有方法、公有方法;静态属性、静态方法;python的命名规范__xx__\__xx\_xx(自用笔记)
Ⅰ.类属性.类方法(类和实例都能调用类属性和类方法) 类是一个特殊的对象,Python 中 一切皆对象:class AAA: #定义的类属于 类对象obj1 = AAA() #属于 实例对象 除了封装 ...
- java下划线转小驼峰,java 下划线转驼峰 驼峰转下划线
public class StringUtil { /** 下划线转驼峰 * user_name ----> userName * house.user_name ----> userNa ...
- 你是喜欢用下划线还是小驼峰呢?
通常每种语言都有自己的 Coding Style, 比如 C/C++ 和 python 是下划线,java 和 go 是驼峰.所以按照语言的规范来命名比较合理. 驼峰派: 1:从按键上来说,驼峰是SH ...
- android 怎么初始化下拉框_第30讲:“二师兄”的成长历程之二,类属性的初始化...
在上一篇中我们建立了一个极为简单的pigsy类,在这个类中我们定义了三个属性,一个方法.在谈到类对象在初始化的时候,我们特意的指出:某些属性可以通过自动初始化来设置,这样也会省去你一些麻烦.这就是本篇 ...
- Mybatis 解决数据库字段名和实体类属性名不一致问题
一.问题描述 1.1 查询 password 字段为 null 现象 数据库字段名: 实体类属性名: @Data @NoArgsConstructor @AllArgsConstructor publ ...
最新文章
- JS Array 中 shift 和 pop 的妙用
- MySQL—03—MySQL的查询
- oracle 序列验证脚本,oracle 生成序列脚本
- mysql中的存储机制_Mysql的存储引擎
- java 8 kafka 0.82,运行kafka-console-producer.sh的异常(0.8.1.1)
- 期刊第8期 | 分享C/C++嵌入式系统编程思想
- VS2017社区版+Qt5.12.2+VTK8.2环境搭建
- antd-vue表格内部换行
- 如何使用 Xcode8 进行开发调试
- android实现刷卡功能,Android 实现银联刷卡机消费后手动签名的功能(示例代码)
- 赵小楼《天道》《遥远的救世主》深度解析(64)丁元英帮芮小丹审讯王明阳的切入点是什么?
- android指南针功能,轻松实现Android指南针功能
- 如何快速实现增长App用户量?
- 如何防止Excel工作表名称被修改
- 实体店客户邀新,为什么你给客户返点效果却不好,是哪里出问题了
- “名师带教,共同成长“渭南市马红“名师+”研修共同体2022年工作计划
- 用soa搭建统一的电子政务平台
- GetMessage和PeekMessage的区别及PostMessage(hWnd, WM_QUIT, 0, 0)消息
- Android中BroadCaseReceiver的基本用法(一)之监听系统广播
- Java 线程死锁及如何避免死锁介绍