2015-05-18 105 views
-1

我有2數組變量我想總結數組並分成兩部分。請看看我的代碼 -如何在PHP中總結數組值?

print_r($public); 

輸出 -

Array 
(
    [0] => 2 
    [1] => 3 
    [2] => 5 
    [3] => 2 
    [4] => 1 
    [5] => 32 
    [6] => 5 
    [7] => 20 
    [8] => 0 
    [9] => 0 
    [10] => 0 
    [11] => 0 
    [12] => 0 
    [13] => 0 
    [14] => 7 
    [15] => 0 
    [16] => 0 
    [17] => 0 
    [18] => 0 
    [19] => 0 
    [20] => 0 
    [21] => 0 
    [22] => 0 
    [23] => 0 
    [24] => 0 
    [25] => 0 
    [26] => 11 
    [27] => 0 
    [28] => 0 
    [29] => 0 
    [30] => 0 
) 



print_r($private); 

Array 
(
    [0] => 0 
    [1] => 1 
    [2] => 0 
    [3] => 0 
    [4] => 1 
    [5] => 0 
    [6] => 0 
    [7] => 3 
    [8] => 0 
    [9] => 0 
    [10] => 0 
    [11] => 0 
    [12] => 0 
    [13] => 0 
    [14] => 7 
    [15] => 0 
    [16] => 0 
    [17] => 0 
    [18] => 0 
    [19] => 0 
    [20] => 0 
    [21] => 0 
    [22] => 4 
    [23] => 0 
    [24] => 0 
    [25] => 0 
    [26] => 0 
    [27] => 0 
    [28] => 2 
    [29] => 0 
    [30] => 0 
) 

我的輸出應該是 -

$variable1=array_sum($public) + array_sum($private); //for First 15 days(array) 
$variable2 = array_sum($public) + array_sum($private); //For 16 to end of the array 

$public$private是二陣列。包含May月份日期明智記錄。我想將數組值分解爲兩個分割部分。

第一 - 天 - 1-15(陣列0的總和到14)

第二 - 日 - 月的16端(陣列15的總和以結束陣列)

如何在一行代碼中將兩個變量分成兩個分隔部分?

回答

1

您可以使用array_slice

$first_part = array_sum(array_slice($public, 0, 15)); 
$second_part = array_sum(array_slice($public, 15, 16)); 

$first_part = array_sum(array_slice($public, 0, 15)) + array_sum(array_slice($private, 0, 15)); 
$second_part = array_sum(array_slice($public, 15, 16)) + array_sum(array_slice($private, 15, 16)); 
+0

您輸入'16'。告訴我爲什麼要輸入'16'最後一位數字可能是28,29,30或31 – Developer

+0

您只計算'$ public'變量。我想總結'$ public'和'$ private'變量 – Developer

+0

'array_slice'將嘗試獲得'16'項,如果項數少的話它會返回更少。 '16'因爲'15 + 16 = 31'這是一個月中的最大天數。 – Halcyon