我有这个数组:
Array
(
[0] => Array
(
[0] => Array
(
[id] => 1
[kw] => 45
[anzahl_betten] => 100
[zugange_dauerpflege] => 1
[zugange_kurzzeitpflege] => 1
[abgange_dauerpflege_sterbefalle] => 1
[abgange_dauerpflege_auszuge] => 1
[abgange_kurzzeitpflege] => 1
[wechsel_kurz_dauer] => 1
[anzahl_tage] => 1
[geplante_einzuge] => 5
[hID] => 9
)
[1] => Array
(
[id] => 11
[kw] => 46
[anzahl_betten] => 100
[zugange_dauerpflege] => 0
[zugange_kurzzeitpflege] => 0
[abgange_dauerpflege_sterbefalle] => 0
[abgange_dauerpflege_auszuge] => 0
[abgange_kurzzeitpflege] => 0
[wechsel_kurz_dauer] => 0
[anzahl_tage] => 0
[geplante_einzuge] => 1
[hID] => 9
)
[2] => Array
(
[id] => 12
[kw] => 47
[anzahl_betten] => 100
[zugange_dauerpflege] => 1
[zugange_kurzzeitpflege] => 1
[abgange_dauerpflege_sterbefalle] => 0
[abgange_dauerpflege_auszuge] => 1
[abgange_kurzzeitpflege] => 0
[wechsel_kurz_dauer] => 0
[anzahl_tage] => 0
[geplante_einzuge] => 0
[hID] => 9
)
)
[1] => Array
(
[0] => Array
(
[id] => 19
[kw] => 45
[anzahl_betten] => 100
[zugange_dauerpflege] => 1
[zugange_kurzzeitpflege] => 0
[abgange_dauerpflege_sterbefalle] => 1
[abgange_dauerpflege_auszuge] => 0
[abgange_kurzzeitpflege] => 1
[wechsel_kurz_dauer] => 0
[anzahl_tage] => 1
[geplante_einzuge] => 0
[hID] => 11
)
[1] => Array
(
[id] => 20
[kw] => 46
[anzahl_betten] => 100
[zugange_dauerpflege] => 0
[zugange_kurzzeitpflege] => 2
[abgange_dauerpflege_sterbefalle] => 3
[abgange_dauerpflege_auszuge] => 0
[abgange_kurzzeitpflege] => 2
[wechsel_kurz_dauer] => 3
[anzahl_tage] => 0
[geplante_einzuge] => 2
[hID] => 11
)
[2] => Array
(
[id] => 21
[kw] => 47
[anzahl_betten] => 99
[zugange_dauerpflege] => 0
[zugange_kurzzeitpflege] => 0
[abgange_dauerpflege_sterbefalle] => 1
[abgange_dauerpflege_auszuge] => 2
[abgange_kurzzeitpflege] => 0
[wechsel_kurz_dauer] => 0
[anzahl_tage] => 1
[geplante_einzuge] => 2
[hID] => 11
)
)
[2] => Array
(
[0] => Array
(
[id] => 22
[kw] => 45
[anzahl_betten] => 50
[zugange_dauerpflege] => 0
[zugange_kurzzeitpflege] => 0
[abgange_dauerpflege_sterbefalle] => 0
[abgange_dauerpflege_auszuge] => 1
[abgange_kurzzeitpflege] => 1
[wechsel_kurz_dauer] => 0
[anzahl_tage] => 0
[geplante_einzuge] => 0
[hID] => 12
)
[1] => Array
(
[id] => 23
[kw] => 46
[anzahl_betten] => 51
[zugange_dauerpflege] => 0
[zugange_kurzzeitpflege] => 0
[abgange_dauerpflege_sterbefalle] => 0
[abgange_dauerpflege_auszuge] => 0
[abgange_kurzzeitpflege] => 0
[wechsel_kurz_dauer] => 0
[anzahl_tage] => 0
[geplante_einzuge] => 0
[hID] => 12
)
[2] => Array
(
[id] => 24
[kw] => 47
[anzahl_betten] => 51
[zugange_dauerpflege] => 1
[zugange_kurzzeitpflege] => 1
[abgange_dauerpflege_sterbefalle] => 1
[abgange_dauerpflege_auszuge] => 1
[abgange_kurzzeitpflege] => 1
[wechsel_kurz_dauer] => 1
[anzahl_tage] => 1
[geplante_einzuge] => 1
[hID] => 12
)
)
)
“kw”是周数,“hID”是房子的ID。 我现在想要从每个房子的一个“kw”中添加所有“anzahl_betten”,“zugange_dauerpflege”,... xt。 所以最后我只希望每个kw有一个数组输入(并且所有房屋都是相加的)。 E.g:
Array ( [0] => Array ( [kw] => 45 [anzahl_betten] => 250 [zugange_dauerpflege] => 2 ...) )
[1] => Array ( [kw] => 46 [anzahl_betten] => 249 [zugange_dauerpflege] => 1 ...) )
我怎么能意识到这一点?
答案 0 :(得分:0)
$final = array();
foreach($your_array as $index1 => $sub_array1)
{
foreach($sub_array1 as $index2 => $final_sub_array)
{
// I think you don't care about $index1 and $index2 ?
unset($final_sub_array['id']); // nothing to do whith this one ?
$kw = $final_sub_array['kw'];
unset($final_sub_array['kw']);
unset($final_sub_array['hID']); // nothing to do whith this one ?
// Now, $final_sub_array contains only keys 'anzahl_betten' .. 'geplante_einzuge'
foreach($final_sub_array as $house => $value)
{
if(isset($final[$kw][$house]))
$final[$kw][$house] += $value;
else
$final[$kw][$house] = $value;
}
}
}
$ final的键是“kw”,每个“kw”的值是一系列房屋。我没有测试它。可以吗?