как суммировать элемент в базовом ключе массива - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть такой массив

[1001] => Array
        (
            [0] => 500
        )

    [1204] => Array
        (
            [0] => 750
        )

    [1202] => Array
        (
            [0] => 0
            [1] => 10000
            [2] => 138456
        )

    [1203] => Array
        (
            [0] => 300
        )



)

Я хочу Суммировать каждый элемент массива в ключе для нового вывода, как это

[1001] => Array
        (
            [0] => 500
        )
[1204] => Array
        (
            [0] => 750
        )
[1202] => Array
        (
            [0] => 148456

        )
[1203] => Array
        (
            [0] => 300
        )





)

Спасибо!

Ответы [ 2 ]

1 голос
/ 28 апреля 2019

Вы можете использовать array_map, чтобы применить array_sum к каждому из элементов массива:

$sum_array = array_map(function ($v) { return array_sum($v); }, $array);
print_r($sum_array);

Демонстрация на 3v4l.org

0 голосов
/ 28 апреля 2019

Вы можете использовать код ниже.Удачи!

    $data=[
        1001 => [ 500],1024 => [750],1202 =>[0,10000,138456],1203=>[300]
    ];


    foreach($data as $key => $value){

            if(count($data[$key]) > 1){
                    $data[$key]=array_sum($data[$key]);
            }else{
                $data[$key] =$data[$key];
            }

    }
...