php蛇形字串轉駝峰
阿新 • • 發佈:2018-11-03
方法很多,幾個思路:
$value = ucwords(str_replace(['-', '_'], ' ', $value));
lcfirst(str_replace(' ', '', $value));
輸出結果便是:
其他方法:
/*
* 下劃線轉駝峰
*/
private function convertUnderline($str)
{
$str = preg_replace_callback('/([-_]+([a-z]{1}))/i',function($matches){
return strtoupper($matches [2]);
},$str);
return $str;
}
/*
* 駝峰轉下劃線
*/
private function humpToLine($str){
$str = preg_replace_callback('/([A-Z]{1})/',function($matches){
return '_'.strtolower($matches[0]);
},$str);
return $str;
}
private function convertHump(array $data){
$result = [];
foreach ($data as $key => $item) {
if (is_array($item) || is_object($item)) {
$result[$this->humpToLine($key)] = $this->convertHump((array)$item);
} else {
$result[$this->humpToLine($key)] = $item;
}
}
return $result;
}