将数组索引[0]更改为[some-name] PHP

时间:2015-10-15 11:52:03

标签: php arrays

请查看以下数组..

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

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

)

我需要像这样的输出,

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

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

    )

有没有可能做到这一点..? 我读了这个PHP rename array keys in multidimensional array

但它解释了重命名数组键,但我需要在我的实时应用程序中实现它。

请帮帮我..

3 个答案:

答案 0 :(得分:6)

使用数据构建一个新数组:

$newArray=[
    'rfp'=>$oldArray[0],
    'user'=>$oldArray[1]
];

如果你真的需要,你可以覆盖旧变量来保存新数组:

$oldArray = $newArray;

答案 1 :(得分:3)

试试这段代码

<?php
$arr[0]['fee_id']=12;
$arr[0]['fee_amount']=308.5;
$arr[0]['year']=2009;

$arr[1]['fee_id']=14;
$arr[1]['fee_amount']=308.5;
$arr[1]['year']=2009;

echo "<pre>";
print_r($arr);
echo "</pre>";


$arr2['rfp']=$arr[0];
$arr2['user']=$arr[1];

echo "<pre>";
print_r($arr2);
echo "</pre>";
?>

答案 2 :(得分:1)

这就像拧入想象中的灯泡一样简单。

$array['key_name_you_want'] = $array[0];
unset($array[0]);

这会将所有$array[0]值设置为$array['key_name_you_want'],然后取消设置$array[0],使其不再位于$array