<?php
// 将驼峰变量和下划线风格的变量名互转
function transformer($str = '') {
if(!empty($str)) {
$new_str = '';
// 字串中是否含有 '_'
if(strstr($str, '_')) {
$arr = explode('_', $str);
array_walk($arr, 'ucword');
$new_str = join('', $arr);
}else{
// 驼峰处理
$str = lcfirst($str);
$length = strlen($str);
for($i = 0; $i < $length; $i++) {
if($str[$i] >= 'A' && $str[$i] <= 'Z') {
$new_str .= '_' . strtolower($str[$i]);
}else{
$new_str .= $str[$i];
}
}
}
return $new_str;
}else{
return $str;
}
}
function ucword(&$param, $key){
$param = ucfirst($param);
}
print transformer('hello_world');
echo '<br />';
print transformer('HelloWorld');
@2017-6-14修改
function parse_name($name, $type=0) {
if ($type) {
// 下划线转驼峰
return ucfirst(
preg_replace_callback('/_([a-zA-Z])/', function($match){
return strtoupper($match[1]);
}, $name)
);
} else {
// 驼峰转下划线
return strtolower(trim(preg_replace("/[A-Z]/", "_\\0", $name), "_"));
}
}
php 将驼峰变量和下划线风格的变量名互转
最新推荐文章于 2023-05-04 17:49:10 发布