How can I rename keys in an array?
Start with this array named $start_array,
[0] =>
[date] => 2012-05-01
[revenue] => 100
[1] =>
[date] => 2012-05-02
[revenue] => 200
and change the keys for 'date' and 'revenue' so you get this $final_array:
[0] =>
[x] => 2012-05-01
[y] => 100
[1] =>
[x] => 2012-05-02
[y] => 200
Here is my terrible attempt which works but is messy.
$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'] );
}
foreach( $start_array as &$arr ) {
$arr["x"] = $arr['date'];
unset( $arr['date'] );
$arr['y'] = $arr['revenue'];
unset( $arr['revenue'] );
}
unset($arr);
Try the above code.
You could use array_combine
.
$new_arr = array_map(function ($val) {
return array_combine(array('x', 'y'), $val);
}, $arr);
The working demo.
Or just ues a loop:
foreach ($arr as &$el) {
$el = array_combine(array('x', 'y'), $el);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With