我試圖通過組合兩個數組來生成報告。組合相關數組用於在PHP中生成報告
我的第一個數組:
echo json_encode($arr_default);
[
{"01":"0"},{"01":"0"},{"01":"0"},{"01":"0"},{"01":"0"}
,{"02":"0"},{"02":"0"},{"02":"0"},{"02":"0"},{"02":"0"}
,{"03":"0"},{"03":"0"},{"03":"0"},{"03":"0"},{"03":"0"}
,{"04":"0"},{"04":"0"},{"04":"0"},{"04":"0"},{"04":"0"}
,{"05":"0"},{"05":"0"},{"05":"0"},{"05":"0"},{"05":"0"}
,{"06":"0"},{"06":"0"},{"06":"0"},{"06":"0"},{"06":"0"}
,{"07":"0"},{"07":"0"},{"07":"0"},{"07":"0"},{"07":"0"}
,{"08":"0"},{"08":"0"},{"08":"0"},{"08":"0"},{"08":"0"}
,{"09":"0"},{"09":"0"},{"09":"0"},{"09":"0"},{"09":"0"}
,{"10":"0"},{"10":"0"},{"10":"0"},{"10":"0"},{"10":"0"}
,{"11":"0"},{"11":"0"},{"11":"0"},{"11":"0"},{"11":"0"}
,{"12":"0"},{"12":"0"},{"12":"0"},{"12":"0"},{"12":"0"}
]
我的第二個數組:
echo json_encode($arr_data);
//[
{"01":"11.600"},{"01":"0"},{"01":"0"},{"01":"11.600"},{"01":"11.600"}
,{"02":"6.133"},{"02":"6.133"},{"02":"0"},{"02":"0"},{"02":"6.133"}
,{"03":"0"},{"03":"0"},{"03":"0"},{"03":"0"},{"03":"14.667"}
]
這是到目前爲止我的代碼,但結果是不正確的:
$arr_final = array();
foreach($arr_default as $dt_arr_default)
{
$found=false;
foreach($arr_data as $dt_arr_data)
{
if(key($dt_arr_default)==key($dt_arr_data))
{
$arr_final[] = $dt_arr_data;
$found=true;
break;
}
}
if(!$found)
{ $arr_final[]=$dt_arr_data; }
}
我的代碼結果:
[
{"01":"11.6"},{"01":"11.6"},{"01":"11.6"},{"01":"11.6"},{"01":"11.6"}
,{"02":"6.1"},{"02":"6.1"},{"02":"6.1"},{"02":"6.1"},{"02":"6.1"}
,{"03":"0"},{"03":"0"},{"03":"0"},{"03":"0"},{"03":"0"}
,{"04":"0"},{"04":"0"},{"04":"0"},{"04":"0"},{"04":"0"}
,{"05":"0"},{"05":"0"},{"05":"0"},{"05":"0"},{"05":"0"}
,{"06":"0"},{"06":"0"},{"06":"0"},{"06":"0"},{"06":"0"}
,{"07":"0"},{"07":"0"},{"07":"0"},{"07":"0"},{"07":"0"}
,{"08":"0"},{"08":"0"},{"08":"0"},{"08":"0"},{"08":"0"}
,{"09":"0"},{"09":"0"},{"09":"0"},{"09":"0"},{"09":"0"}
,{"10":"0"},{"10":"0"},{"10":"0"},{"10":"0"},{"10":"0"}
,{"11":"0"},{"11":"0"},{"11":"0"},{"11":"0"},{"11":"0"}
,{"12":"0"},{"12":"0"},{"12":"0"},{"12":"0"},{"12":"0"}
]
結果我想:
[
{"01":"11.6"},{"01":"0"},{"01":"0"},{"01":"11.6"},{"01":"11.6"}
,"02":"6.1"},"02":"6.1"},{"02":"0"},{"02":"0"},{"02":"6.133"},
{"03":"0"},{"03":"0"},{"03":"0"},{"03":"0"},{"03":"14.6"}
,{"04":"0"},{"04":"0"},{"04":"0"},{"04":"0"},{"04":"0"}
,{"05":"0"},{"05":"0"},{"05":"0"},{"05":"0"},{"05":"0"}
,{"06":"0"},{"06":"0"},{"06":"0"},{"06":"0"},{"06":"0"}
,{"07":"0"},{"07":"0"},{"07":"0"},{"07":"0"},{"07":"0"}
,{"08":"0"},{"08":"0"},{"08":"0"},{"08":"0"},{"08":"0"}
,{"09":"0"},{"09":"0"},{"09":"0"},{"09":"0"},{"09":"0"}
,{"10":"0"},{"10":"0"},{"10":"0"},{"10":"0"},{"10":"0"}
,{"11":"0"},{"11":"0"},{"11":"0"},{"11":"0"},{"11":"0"}
,{"12":"0"},{"12":"0"},{"12":"0"},{"12":"0"},{"12":"0"}
]
,最後我怎麼能的foreach數組是這樣的:
01 11.6 0 0 11.6 11.6
02 6.1 6.1 0 0 6.1
03 0 0 0 0 14.6
04 0 0 0 0 0
05 0 0 0 0 0
06 0 0 0 0 0
07 0 0 0 0 0
08 0 0 0 0 0
09 0 0 0 0 0
10 0 0 0 0 0
11 0 0 0 0 0
12 0 0 0 0 0
謝謝您的幫助!
_How_你要結合您的陣列? – Federkun
你想用這兩個物體做什麼?合併重複項,不重複,合併並組合成具有唯一鍵的數組?按順序組合和排序?添加更多你想要的東西的描述。或者,如果您想創意並嘗試自己,請查看Lo-dash或Underscore庫:https://lodash.com/docs。 –
@federico任何方法都可以。但我更喜歡更簡單的一個。最重要的是匹配我想要的結果。 – ashura91