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

Hom*_*ith 11 php arrays associative-array

说我有这样的数组:

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

我如何更改内部数组的键?说,我想为"name"更改"n",为"last_name"更改"l".考虑到它可能发生比阵列没有特定的键.

Car*_*ens 15

这样的事情可能是:

if (isset($array['n'])) {
    $array['name'] = $array['n'];
    unset($array['n']);
}
Run Code Online (Sandbox Code Playgroud)

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


any*_*asa 12

使用array_walk

array_walk($array, function (& $item) {
   $item['new_key'] = $item['old_key'];
   unset($item['old_key']);
});
Run Code Online (Sandbox Code Playgroud)

  • $item 是从哪里来的? (2认同)