<?php
namespace App\Utils;
use Hyperf\Utils\Str;
class ConversionUtils
{
/**
* 驼峰转换为下划线
* @param $data
* @return mixed
*/
public function humpToUnderscore($data): array
{
$newParameters = [];
if ($data) {
foreach ($data as $key => $value) {
if (!is_int($key)) {
if (is_array($value)) {
$newParameters[Str::snake($key)] = $this->humpToUnderscore($value);
} else {
$newParameters[Str::snake($key)] = $value;
}
} else if (is_array($value)) {
$newParameters[$key] = $this->humpToUnderscore($value);
} else {
$newParameters[$key] = $value;
}
}
}
return $newParameters;
}
/**
* 下划线转换为驼峰
* @param $data
* @return mixed
*/
public function underscoreToHump($data): array
{
$newParameters = [];
if ($data) {
foreach ($data as $key => $value) {
if (!is_int($key)) {
if (is_array($value)) {
$newParameters[Str::camel($key)] = $this->underscoreToHump($value);
} else {
$newParameters[Str::camel($key)] = $value;
}
} else if (is_array($value)) {
$newParameters[$key] = $this->underscoreToHump($value);
} else {
$newParameters[$key] = $value;
}
}
}
return $newParameters;
}
}