2015-05-18 3 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 это два массива. contans 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

Смежные вопросы