3

見出しはそれをすべて言います: 次のように、配列全体に (サブ) 配列値を追加する垂直合計関数が php にありますか?

 // pseudo code that would return the sum of "income" for all days of the year
 // for example
 vertical_sum($array[$day_of_year]["income"]);
4

2 に答える 2

3

income各配列からフィールドを抽出してから使用できますarray_sum

function vertical_sum($array, $key){
    return array_sum(array_map(function($a) use($key){
        return $a[$key];
    }, $array));
}

次に、次のように呼び出すことができます。

vertical_sum($array, "income");
于 2012-08-01T14:04:06.340 に答える
3

ネイティブ機能?正確ではありませんが、配列の削減が役立ちます。

$array = array(
    array('income' => 1), //day 1
    array('income' => 3), //day 2, etc
    array('income' => 6),
    array('income' => 7)
);
echo array_reduce($array, function($curr_total, $this_val) {
    return $curr_total + $this_val['income'];
}, 0); //17
于 2012-08-01T14:05:58.820 に答える