在 PHP 中的关联数组中更改键

2022-08-30 21:48:54

假设我有一个这样的数组:

array(2) {
  [0]=> array(2) {
    ["n"]=> string(4) "john"
    ["l"]=> string(3) "red"
  }
  [1]=> array(2) {
    ["n"]=> string(5) "nicel"
    ["l"]=> string(4) "blue"
  }
}

如何更改内部数组的键?比如说,我想把“n”换成“name”,把“l”改成“last_name”。考虑到数组没有特定键时可能会发生这种情况。


答案 1

使用array_walk

array_walk($array, function (& $item) {
   $item['new_key'] = $item['old_key'];
   unset($item['old_key']);
});

答案 2

也许像这样:

if (isset($array['n'])) {
    $array['name'] = $array['n'];
    unset($array['n']);
}

注意:此解决方案将更改密钥的顺序。若要保持顺序,必须重新创建数组。