PHP实现驼峰命名和下划线命名互转
来源:凉官灰
发布时间:2020-05-13 09:57:21
阅读量:2075
本篇文章教大家实现驼峰命名和下划线命名互转,在php开发中经常需要两种命名法互相转换,下面为大家提供两种实现方式.
第一种方法效率相对差一些,实现方式如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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 < $len ; $i ++)
{
$result .= ucfirst( $array [ $i ]);
}
}
return $result ;
}
|
第二种方法更为巧妙高效,推荐使用第二种方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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 ));}
|