tags:

views:

60

answers:

3

The array is here:

Array ( [0] => 0 ) Array ( [0] => 0 ) Array ( [0] => 1 [1] => 6 [2] => 0 )

A: 

I guess those three arrays are actually all part of a top-level array, like this:

$array = array( array( 0 ), array( 1, 2, 3, 4 ), array( 5, 6 ) );

$sum = 0;
for ( $i = 0; $i < count( $array ); $i++ )
{
    $sum += array_sum( $array[$i] );
}
poke
+1  A: 

Use recursion. This will sum an array to any depth (ignoring php imposed call stack depth limit):

function sum_all($arr)
{
    $sum = 0;

    foreach ($arr as $val)
    {
        if (is_array($val))
            $sum += sum_all($val);
        else
            $sum += $val;
    }

    return $sum;
}
jasonbar
Great answer. Taught me recursion,
Tapha
+2  A: 
echo array_sum(
    call_user_func_array('array_merge', $array)
);
//or
echo array_sum(
    array_map('array_sum', $array)
);
chris
This is great 2
Tapha