2013-03-01 9 views
0

Учитывая следующее ...сумма дочерних элементов в массиве

$itemarray = array() 

    array(3) { 
    [1]=> 
    array(2) { 
     [0]=> 
     string(4) "4.00" 
     [1]=> 
     string(4) "1766" 
    } 
    [2]=> 
    array(2) { 
     [0]=> 
     string(4) "5.00" 
     [1]=> 
     string(4) "1778" 
    } 
    [3]=> 
    array(2) { 
     [0]=> 
     string(4) "5.00" 
     [1]=> 
     string(4) "1780" 
    } 
    } 

Я хотел бы получить сумму array[x][0]. На данный момент я могу получить общую сумму каждого массива с помощью

$item_sum = array_sum($itemarray[$x]); 

Я думал $item_sum = array_sum($itemarray[$x][0]); может быть путь, но, казалось бы, нет.

ответ

2

Если вы просто хотите, чтобы получить первые элементы сумму, вы можете использовать:

$item_sum = array_sum(array_map('reset', $array)); 

Вы можете видеть, что this outputs, на основе вашего ввода:

float(14) 
+0

+1 для одного -liner, но я думаю, что простой цикл быстрее – ZolaKt

+1

Цикл более очевиден в том, что он делает. Это умный, но тайный. – Barmar

+0

ОП пытался «array_sum ($ itemarray [$ x] [0]);», это пример того, как использовать 'array_sum()', как OP пытался выполнить задачу. – nickb

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