Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数组计算数据_Php_Arrays - Fatal编程技术网

Php 从数组计算数据

Php 从数组计算数据,php,arrays,Php,Arrays,我有这个阵列: Array ( [0] => Array ( [0] => Array ( [id] => 1 [kw] => 45 [anzahl_betten] => 100 [zugange_dauerpflege] => 1 [zugange_ku

我有这个阵列:

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_Dauerplege”…xt。 因此,最后我只想为每千瓦有一个数组条目(所有的房屋都被求和)。 例如:

我怎么会意识到这一点

$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”的值是一组房屋。我没有测试它。可以吗?

非常感谢!这是工作,因为它应该!
$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;
        }
    }
}