【发布时间】:2016-04-16 10:43:42
【问题描述】:
想象两个关联数组:
$array1= array(
array('date'=>'1-Sep-2016', 'price1'=>98),
array('date'=>'1-Oct-2016', 'price1'=>77),
array('date'=>'1-Nov-2016', 'price1'=>87),
array('date'=>'1-Dec-2016', 'price1'=>88),
array('date'=>'1-Jan-2017', 'price1'=>91)
);
$array2= array(
array('date'=>'1-Feb-2016', 'price2'=>98),
array('date'=>'1-Mar-2016', 'price2'=>77),
array('date'=>'1-Apr-2016', 'price2'=>87),
array('date'=>'1-May-2016', 'price2'=>88),
array('date'=>'1-Jun-2016', 'price2'=>91),
array('date'=>'1-Jul-2016', 'price2'=>88),
array('date'=>'1-Aug-2016', 'price2'=>88),
array('date'=>'1-Sep-2016', 'price2'=>88),
array('date'=>'1-Oct-2016', 'price2'=>88)
);
合并后的数组应如下所示:
$merged =array(
array('date'=>'1-Feb-2016', 'price2'=>98),
array('date'=>'1-Mar-2016', 'price2'=>77),
array('date'=>'1-Apr-2016', 'price2'=>87),
array('date'=>'1-May-2016', 'price2'=>88),
array('date'=>'1-Jun-2016', 'price2'=>91),
array('date'=>'1-Jul-2016', 'price2'=>88),
array('date'=>'1-Aug-2016', 'price2'=>88),
array('date'=>'1-Sep-2016', 'price1'=>98, 'price2'=>88),
array('date'=>'1-Oct-2016', 'price1'=>77, price2'=>88),
array('date'=>'1-Nov-2016', 'price1'=>87),
array('date'=>'1-Dec-2016', 'price1'=>88),
array('date'=>'1-Jan-2017', 'price1'=>91)
};
注意以下几行:
array('date'=>'1-Sep-2016', 'price1'=>98, 'price2'=>88),
array('date'=>'1-Oct-2016', 'price1'=>77, price2'=>88),
简而言之:
我需要合并两个数组而不从任一数组中删除任何元素。 Array1 将始终包含 date 和 price1 元素,而 array2 将始终包含 date 和 price2 元素。因此,如果两个数组都包含相同的日期(例如:1-Sep-2016),则结果数组(merged)需要通过添加price1 和price2 元素将它们合并。我希望你明白我的意思(对不起,不是以英语为母语的人):(
【问题讨论】:
-
@Script47 感谢您的建议。但是,我无法使用您建议的帖子。这两个答案都没有帮助我按照我解释的方式组合数组。
标签: php arrays merge associative-array