这两个数组都是从数据库中取出来的数据。不同的时间段。A:2010-11-12 至 2010-11-17
B:2010-11-06 至 2010-11-11数组A:
Array
(
[0] => Array
(
[COUNT_REGISTER] => 120
[CONVER_PERCENT] => 0.8
[COUNT_DATE] => 2010-11-12
) [1] => Array
(
[COUNT_REGISTER] => 198
[CONVER_PERCENT] => 1.5
[COUNT_DATE] => 2010-11-13
) [2] => Array
(
[COUNT_REGISTER] => 862
[CONVER_PERCENT] => 7.3
[COUNT_DATE] => 2010-11-14
) [3] => Array
(
[COUNT_REGISTER] => 2670
[CONVER_PERCENT] => 216.02
[COUNT_DATE] => 2010-11-15
)
[4] => Array
(
[COUNT_REGISTER] => 53
[CONVER_PERCENT] => 5.2
[COUNT_DATE] => 2010-11-17
))数组B: Array
(
[0] => Array
(
[COUNT_REGISTER] => 3
[CONVER_PERCENT] => 0.44
[COUNT_DATE] => 2010-11-06
) [1] => Array
(
[COUNT_REGISTER] => 1910
[CONVER_PERCENT] => 169.78
[COUNT_DATE] => 2010-11-07
) [2] => Array
(
[COUNT_REGISTER] => 860
[CONVER_PERCENT] => 9.7
[COUNT_DATE] => 2010-11-10
))
要合并组装成新的数组为: 2010-11-12 120 0.8
2010-11-06 3 0.4
2010-11-13 198 1.5 2010-11-07 1910 169.78 2010-11-14 862 7.3
2010-11-08 0 0.0 2010-11-15 2670 216.02
2010-11-09 0 0.0 2010-11-16 0 0.0 2010-11-10 860 9.7 2010-11-17 53 5.2
2010-11-11 0 0.0
最后的结果就是要是上面这样的,两期的数据做个对比。
foreach($a as $k=>$v){
$a_tmp[$v['COUNT_DATE']]=$v;
}
foreach($b as $k=>$v){
$b_tmp[$v['COUNT_DATE']]=$v;
}
$a_start = 12;
$b_start = 6;for($i=0;$i<6;$i++){
$a_key = "2010-11-".($a_start+$i);
$b_key = "2010-11-".($b_start+$i); if(!isset($a_tmp[$a_key])){
$a_data=0;
}
if(!isset($b_tmp[$b_key])){
$b_data=0;
}
$data[] = array("a"=>$a_tmp[$a_key]中的数据,"b"=>$b_tmp[$b_key]中的数据);
}
B:2010-11-06 至 2010-11-11区间内即可
$arrA = Array(
Array
(
"COUNT_REGISTER" => 120,
"CONVER_PERCENT" => 0.8,
"COUNT_DATE" => "2010-11-12",
), Array
(
"COUNT_REGISTER" => 198,
"CONVER_PERCENT" => 1.5,
"COUNT_DATE" => "2010-11-13",
), Array
(
"COUNT_REGISTER" => 862,
"CONVER_PERCENT" => 7.3,
"COUNT_DATE" => "2010-11-14",
), Array
(
"COUNT_REGISTER" => 2670,
"CONVER_PERCENT" => 216.02,
"COUNT_DATE" => "2010-11-15",
), Array
(
"COUNT_REGISTER" => 53,
"CONVER_PERCENT" => 5.2,
"COUNT_DATE" => "2010-11-17",
));$arrB = Array(
Array
(
"COUNT_REGISTER" => 3,
"CONVER_PERCENT" => 0.44,
"COUNT_DATE" => "2010-11-06",
), Array
(
"COUNT_REGISTER" => 1910,
"CONVER_PERCENT" => 169.78,
"COUNT_DATE" => "2010-11-07",
), Array
(
"COUNT_REGISTER" => 860,
"CONVER_PERCENT" => 9.7,
"COUNT_DATE" => "2010-11-10",
));
$count = count($arrA);
$newArr = array();
for($i=0;$i<$count;$i++)
{
$newArr[] = $arrA[$i];
$newArr[] = $arrB[$i];
}var_dump($newArr);