我想"关联"两个数组,我需要结合日期,但要将第二行数据添加到另一个数组。
一个例子将更加明白:
数组1:
array:2 [▼
"July 2017" => 2
"May 2017" => 1
]
数组2:
array:5 [▼
"April 2017" => 1
"July 2017" => 1
"June 2017" => 1
"March 2016" => 1
"September 2016" => 1
]
结果:
array [
['April 2017', 1, 0],
['July 2017', 1, 2],
['June 2017', 1, 0],
['March 2016', 1, 0],
['September 2016', 1, 0],
['May 2017', 0, 1]
]
所有具有相同名称(和年份)的月份都会合并。数组1中的数据在数组2之后添加。因此它变成数组数组。
但我找不到任何能胜任这项工作的职能。
感谢您的帮助!
答案 0 :(得分:3)
很容易实现。
<?php
$array1 = array(
"July 2017" => 2,
"May 2017" => 1
);
$array2 = array(
"April 2017" => 1,
"July 2017" => 1,
"June 2017" => 1,
"March 2016" => 1,
"September 2016" => 1
);
$array3 = $array2 + $array1;
$out = array();
foreach( $array3 as $k=>$v )
{
$out[] = array($k, (isset($array2[$k]) ? $array2[$k]:0), (isset($array1[$k]) ? $array1[$k]:0));
}
print_r( $out );
结果将是:
Array
(
[0] => Array
(
[0] => April 2017
[1] => 1
[2] => 0
)
[1] => Array
(
[0] => July 2017
[1] => 1
[2] => 2
)
[2] => Array
(
[0] => June 2017
[1] => 1
[2] => 0
)
[3] => Array
(
[0] => March 2016
[1] => 1
[2] => 0
)
[4] => Array
(
[0] => September 2016
[1] => 1
[2] => 0
)
[5] => Array
(
[0] => May 2017
[1] => 0
[2] => 1
)
)