PHP重命名数组的键

PHP重命名数组的键,php,arrays,key,key-value,Php,Arrays,Key,Key Value,如何重命名数组中的键 从名为$Start\u array的数组开始 [0] => [date] => 2012-05-01 [revenue] => 100 [1] => [date] => 2012-05-02 [revenue] => 200 并更改“日期”和“收入”的键,这样您就可以得到这个$final_数组: [0] => [x] => 2012-05-01 [y

如何重命名数组中的键

从名为$Start\u array的数组开始

[0] => 
      [date] => 2012-05-01
      [revenue] => 100
[1] =>
      [date] => 2012-05-02
      [revenue] => 200
并更改“日期”和“收入”的键,这样您就可以得到这个$final_数组:

[0] => 
      [x] => 2012-05-01
      [y] => 100
[1] =>
      [x] => 2012-05-02
      [y] => 200
这是我可怕的尝试,虽然有效,但很混乱

$final_array = array();
$max = count($start_array);
for ($j = 0; $j < $max; $j++) {
  $final_array[] = array('x' => $start_array[$j]['dateid'], 'y' => $start_array[$j]['ctrl_version_revenue'] );
}
$final_array=array();
$max=计数($start\u数组);
对于($j=0;$j<$max;$j++){
$final_array[]=array('x'=>$start_array[$j]['dateid'],'y'=>$start_array[$j]['ctrl_version\u revenue']);
}

尝试上面的代码。

您可以使用
数组\u组合

$new_arr = array_map(function ($val) {
  return array_combine(array('x', 'y'), $val);
}, $arr);

或者只是一个循环:

foreach ($arr as &$el) {
  $el = array_combine(array('x', 'y'), $el);
}

数组键的旧名称为“name”,新名称为“new\u name”

$myrow=array('name'=>'Sabuj'); 
$myrow['new_name']=$myrow['name'];
unset($myrow['name']);
print_r($myrow);

Result: Array ( [new_name] => 'Sabuj' )

使用您首先想要的密钥名称创建它不是更好的主意吗?不幸的是,这是不可能的,我得到了这个数组。其他人的代码生成了这个数组,我不应该更改该代码。使用旧密钥可能会有什么损失?您能提供var_dump($final_array)的结果吗?假设您要更改的原始键是dateid和ctrl_version_revenue,我看不出代码中有任何错误。如果您的答案不仅仅包含代码本身,那么它会更清晰。
$new_keys = array( 'old1'=>'new1', 'old2'=>'new2', ... );
foreach( $array as $key=>$value ) $newarray[$new_keys[$key]]=$value; 
$myrow=array('name'=>'Sabuj'); 
$myrow['new_name']=$myrow['name'];
unset($myrow['name']);
print_r($myrow);

Result: Array ( [new_name] => 'Sabuj' )