PHP 根据配置转换数组中的键名 方便给前端的时候改键名

Posted lzs-888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 根据配置转换数组中的键名 方便给前端的时候改键名相关的知识,希望对你有一定的参考价值。

  /**
     * 根据配置转换数组中的键名
     * @param array $data 数据,必须为二维数组格式 [0=>[]]
     * @param array $keyNameMapArr 键名转换配置,key为旧的键名,value为新的键名,若找不到旧键名或者新旧键名一致则不进行转换
     * @param bool $unsetOldKey 是否删除旧的键值对,默认是
     * @return array
     */
    public function changeKeyName($data, $keyNameMapArr, $unsetOldKey = true)
    
        if ($data && is_array($data) && $keyNameMapArr && is_array($keyNameMapArr)) 
            foreach ($data as $k => $v) 
                // 空数组或者其他空的情况时不处理
                if (!$v) 
                    continue;
                
                // 遍历字段map
                foreach ($keyNameMapArr as $oldName => $newName) 
                    // 旧键名与新键名相等 或 数组中没有指定的旧键名 则直接跳过
                    if ($oldName === $newName && !array_key_exists($oldName, $v)) 
                        continue;
                    

                    $data[$k][$newName] = $v[$oldName];

                    // 删除旧的键值对
                    if ($unsetOldKey) 
                        unset($data[$k][$oldName]);
                    
                
            
        
        return $data;
    
// 调用demo
$data = [
  [‘xxxId‘ => 1]
];
$keyNameMapArr = [‘xxxId‘ => ‘id‘];
$data = $this->changeKeyName($data, $keyNameMapArr);
    
// $data返回
array:1 [
  0 => array:1 [
    "id" => 1
  ]
]

 

以上是关于PHP 根据配置转换数组中的键名 方便给前端的时候改键名的主要内容,如果未能解决你的问题,请参考以下文章

PHP之数组函数

php-数组操作

PHP - 获取数组值的键名

PHP数组大全

php 中已知数组的键名,怎么获得键值?

PHP中的常用数组操作方法