2015-05-18 52 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