我使用的是函數內部的foreach,但是,我不能輸出其正確的值。的foreach函數內部不產值
我必須通過功能
//this is only a small part of it because it is very large
Array
(
[2016-05-02] => Array
(
[grup_1] => Array
(
[luce] => 4
[ctr_ok] => 3
[ctr_tot] => 7
[ctr_ko] => 4
[gas] => 3
[ore] => 30.5
)
[grup_2] => Array
(
[luce] => 3
[ctr_ko] => 4
[ctr_tot] => 6
[gas] => 3
[ctr_ok] => 2
[ore] => 47
)
[grup_3] => Array
(
[luce] => 6
[ctr_ko] => 1
[ctr_tot] => 8
[ctr_gia_cliente] => 1
[ctr_ok] => 6
[gas] => 2
[ore] => 24
)
[grup_4] => Array
(
[luce] => 4
[ctr_ok] => 4
[ctr_tot] => 8
[gas] => 4
[ctr_ko] => 4
[ore] => 30
)
[grup_5] => Array
(
[luce] => 9
[ctr_ko] => 11
[ctr_tot] => 17
[gas] => 8
[ctr_ok] => 6
[ore] => 35
)
[grup_6] => Array
(
[luce] => 1
[ctr_ok] => 2
[ctr_tot] => 2
[gas] => 1
[ore] => 36
)
[grup_7] => Array
(
[luce] => 5
[ctr_ko] => 1
[ctr_tot] => 7
[ctr_ok] => 6
[gas] => 2
[ore] => 22
)
)
[2016-05-03] => Array
(
[grup_1] => Array
(
[luce] => 6
[ctr_ok] => 6
[ctr_tot] => 10
[gas] => 4
[ctr_ko] => 4
[ore] => 33.5
)
[grup_2] => Array
(
[luce] => 6
[ctr_ok] => 4
[ctr_tot] => 8
[ctr_ko] => 2
[gas] => 2
[ctr_att_green] => 2
[ore] => 36
)
[grup_3] => Array
(
[luce] => 6
[ctr_ok] => 4
[ctr_tot] => 9
[gas] => 3
[ctr_ko] => 5
[ore] => 36
)
[grup_4] => Array
(
[luce] => 5
[ctr_ko] => 2
[ctr_tot] => 10
[gas] => 5
[ctr_ok] => 8
[ore] => 42
)
[grup_5] => Array
(
[gas] => 2
[ctr_ok] => 3
[ctr_tot] => 3
[luce] => 1
[ore] => 23
)
[grup_6] => Array
(
[luce] => 1
[ctr_ko] => 2
[ctr_tot] => 2
[gas] => 1
[ore] => 36
)
[grup_7] => Array
(
[luce] => 2
[ctr_ok] => 1
[ctr_tot] => 3
[ctr_gia_cliente] => 2
[gas] => 1
[ore] => 27.3
)
)
這裏要處理的陣列是收集的ctr_tot
關鍵
function kontratat_tot($grup_name){
$total = 0;
foreach ($kontrata as $date => $grup){
if($grup[$grup_name]['ctr_tot'] != 0){
$total += $grup[$grup_name]['ctr_tot'];
}
}
return $total;
}
這裏我調用該函數
kontratat_tot("grup_1");
總和功能
我一直在尋找過去的3個小時,爲我的問題尋找解決方案但是我已經卡住了,即使解決方案是從我眼中看不到的。
'$ kontrata'內部功能,不能訪問父範圍..你必須定義'$ kontrata'全球var和內部功能訪問'全局變量$ kontrata',或通過'$ kontrata'爲在函數中的參數 –