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 根据配置转换数组中的键名 方便给前端的时候改键名的主要内容,如果未能解决你的问题,请参考以下文章