如何在数组中获取SUM值?

时间:2015-12-01 02:06:26

标签: php

我有两个元素,其CREATE OR REPLACE FUNCTION save_data() RETURNS trigger AS $$ BEGIN INSERT INTO table_copy ( copy_a, copy_b, copy_c, copy_d) VALUES ( NEW."main_a", NEW."main_b", NEW."main_c", NEW."main_d" ); --Since value in table_sub1.sub_c is the same value in table_main.main_a PERFORM sub_c FROM table_sub1 WHERE sub_c = NEW.main_a; IF FOUND THEN UPDATE table_copy SET copy_e = ('link_to_sub1_here'); END IF; --Since value in table_sub2.sub2_c is also the same value in table_main.main_a PERFORM sub2_c FROM table_sub2 WHERE sub2_c = NEW.main_a; IF FOUND THEN UPDATE table_copy SET copy_f = ('link_to_sub2_here'); END IF; RETURN NEW; END $$ LANGUAGE plpgsql; ALTER FUNCTION save_data() OWNER TO postgres; DROP TRIGGER trigger_save_data ON "table_main"; CREATE TRIGGER trigger_save_data BEFORE INSERT OR UPDATE ON "table_main" FOR EACH ROW EXECUTE PROCEDURE save_data(); 的值为postgres=# INSERT INTO table_sub2 VALUES ('cdef', 'abv', 'abcde', 'a12'); INSERT 0 1 postgres=# INSERT INTO table_sub1 VALUES ('cdeb', 'abv', 'abcde', 'a12'); INSERT 0 1 postgres=# INSERT INTO table_main (main_a, main_b, main_c, main_d) VALUES ('abcde', 'bbb', 'ccc', 'ddd'); INSERT 0 1 postgres=# SELECT * FROM table_copy; id | copy_a | copy_b | copy_c | copy_d | copy_e | copy_f | copy_g ----+--------+--------+--------+--------+-------------------+-------------------+-------- 6 | abcde | bbb | ccc | ddd | link_to_sub1_here | link_to_sub2_here | (1 row) postgres=#

我希望获得member

的所有值的总和

5 + member = 10

输出应 10

这是我的数组

[member] => 5

这是我的代码:

[member] => 5

2 个答案:

答案 0 :(得分:2)

这有用吗?

$sum = 0;
foreach ($result as $res) {
   $sum += $res['member'];
}
echo $sum;

答案 1 :(得分:1)

替代解决方案,array_sum& array_map函数

echo array_sum(array_map(function($i){return $i["member"];},$result['content']));