我正在尝试合并主键匹配的两个数组,我尝试使用array_merge但是键只是被覆盖了.
例如,我有这个数组:
$date = '2017-08-01';
$price_arr_1 = array();
$price_arr_1[$date]['adult_1'] = 10;
$price_arr_1[$date]['child_1'] = 2;
print_r($price_arr_1);
Run Code Online (Sandbox Code Playgroud)
哪个输出:
Array ( [2017-08-01] => Array ( [adult_1] => 10 [child_1] => 2 ) )
Run Code Online (Sandbox Code Playgroud)
我有这个数组:
$date = '2017-08-01';
$price_arr_2 = array();
$price_arr_2[$date]['adult_2'] = 10;
$price_arr_2[$date]['child_2'] = 2;
print_r($price_arr_2);
Run Code Online (Sandbox Code Playgroud)
哪个输出:
Array ( [2017-08-01] => Array ( [adult_2] => 10 [child_2] => 2 ) )
Run Code Online (Sandbox Code Playgroud)
当我尝试合并它们时:
print_r(array_merge($price_arr_1,$price_arr_2));
Run Code Online (Sandbox Code Playgroud)
它输出这个:
Array ( [2017-08-01] => Array ( [adult_2] => 10 [child_2] => 2 ) )
Run Code Online (Sandbox Code Playgroud)
我想输出这个:
Array ( [2017-08-01] => Array ( [adult_1] => 10 [adult_2] => 10 [child_1] => 2 [child_2] => 2 ) )
Run Code Online (Sandbox Code Playgroud)
赞赏任何有关如何实现上述目标的想法!
在这种情况下,您可以使用简单array_merge_recursive:
$a1 = Array ( '2017-08-01' => Array ( 'adult_1' => 10, 'child_1' => 2, ) );
$a2 = Array ( '2017-08-01' => Array ( 'adult_2' => 20, 'child_2' => 4, ) );
echo'<pre>',print_r(array_merge_recursive($a1, $a2)),'</pre>';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
336 次 |
| 最近记录: |