PHP在多维数组中重命名数组键

ste*_*tef 31 php arrays

在如下所示的数组中,如何将"fee_id"重命名为"id"?

Array
(
    [0] => Array
        (
            [fee_id] => 15
            [fee_amount] => 308.5
            [year] => 2009                
        )

    [1] => Array
        (
            [fee_id] => 14
            [fee_amount] => 308.5
            [year] => 2009

        )

)
Run Code Online (Sandbox Code Playgroud)

lam*_*mas 39

foreach ( $array as $k=>$v )
{
  $array[$k] ['id'] = $array[$k] ['fee_id'];
  unset($array[$k]['fee_id']);
}
Run Code Online (Sandbox Code Playgroud)

这应该工作

  • 这将改变顺序:新密钥将在最后 (5认同)
  • 你可能想把它变成`foreach(array_keys($ array)as $ k)`或`foreach($ array as $ k => $ v)` (2认同)

Rus*_*kov 17

你可以使用array_map()来做到这一点.

$myarray = array_map(function($tag) {
    return array(
        'id' => $tag['fee_id'],
        'fee_amount' => $tag['fee_amount'],
        'year' => $tag['year']
    ); }, $myarray);
Run Code Online (Sandbox Code Playgroud)