梵蒂冈之花
<?php$graphData = array( 'DataArr' => array ( array( 'data' => array ( array ( 'Month' => '10 Jan 2019', 'Cost' => 60.3, 'Name' => 'Savings' ), array ( 'Month' => '10 Feb 2019', 'Cost' => 45.3, 'Name' => 'Savings' ), array ( 'Month' => '10 Mar 2019', 'Cost' => 50.6, 'Name' => 'Savings' ) ) ), array ( 'data' => array ( array ( 'Month' => '10 Jan 2019', 'Cost' => 89.62, 'Name' => 'Discount' ), array ( 'Month' => '10 Feb 2019', 'Cost' => 20.2, 'Name' => 'Discount' ), array ( 'Month' => '10 Mar 2019', 'Cost' => 0.0, 'Name' => 'Discount' ) ) ) ));$result = [];foreach($graphData['DataArr'] as $value){ foreach($value['data'] as $details){ if(!isset($result['data'][$details['Month']])) $result['data'][$details['Month']] = ['Month' => $details['Month']]; $result['data'][$details['Month']][$details['Name']] = $details['Cost']; }}$result['data'] = array_values($result['data']); // to eliminate keysprint_r($result);演示:https://3v4l.org/QMVuR我们首先创建一个包含键的数组。$resultdata我们循环使用并存储 的值,并在 索引键值 下存储 。$graphDataMonthSavingsDiscountMonth最后,我们array_values()来删除密钥。
吃鸡游戏
根据您在此处提供的内容,需要生成新数组的代码:<?php$data = [ [ 'data' => [ [ 'Month' => '10 Jan 2019', 'Cost' => 60.3, 'Name' => 'Savings' ], [ 'Month' => '10 Feb 2019', 'Cost' => 45.3, 'Name' => 'Savings' ], [ 'Month' => '10 Mar 2019', 'Cost' => 50.6, 'Name' => 'Savings' ] ], ], [ 'data' => [ [ 'Month' => '10 Jan 2019', 'Cost' => 89.62, 'Name' => 'Discount' ], [ 'Month' => '10 Feb 2019', 'Cost' => 20.2, 'Name' => 'Discount' ], [ 'Month' => '10 Mar 2019', 'Cost' => 0.0, 'Name' => 'Discount' ] ], ]];$new_arr = ['data' => []];echo "<pre>";foreach( $data[0]['data'] as $key => $value) { // $new_arr['data'][$k]['Month'] = $new_arr['data'][$key]['Month'] = $value['Month']; $new_arr['data'][$key]['Discount'] = $value['Cost']; $new_arr['data'][$key]['Savings'] = $data[1]['data'][$key]['Cost'];}print_r($new_arr);注意:此代码假设数组只有 2 个主要元素,此数组中的更多元素可能会导致不同的行为。$data