1

私はこのような配列を持っています:

[0] => Array
            (
                [id_station] => 2397
                [hour] => 12
                [data] => Array
                    (
                        [cameraon] => 355654
                        [cameraoff] => 4532
                        [camerabroken] => 76745
                        ...
                    )
            )
[1] => Array
            (
                [id_station] => 2399
                [hour] => 13
                [data] => Array
                    (
                        [cameraon] => 3905466
                        [cameraoff] => 1672
                        [camerabroken] => 70780
                        ...
                    )
            )

もう1行追加したい=全項目の合計

[1] => Array
            (
                [id_station] => 
                [hour] => 
                [data] => Array
                    (
                        [cameraon] => 4261120
                        [cameraoff] => 6204
                        [camerabroken] => 147525
                    )
            )

使っarray_sum(array_column($array["data], 'cameraon'))たけど全部やらなきゃいけない( 100cameraon個持ってる)。cameraoffcamerabroken

この場合、合計行を取得する方法はありますか?

4

2 に答える 2

0

dataサブアレイの深さを知らないと思います。(これはキーと値のペアの数です)

以下のようにしてください: -

$final_array = [];
$final_array['id_station'] ='';
$final_array['hour'] ='';
foreach($original_array as $original_arr){
  foreach($original_arr['data'] as $key=>$original){
     $final_array['data'][$key] +=$original;
  }
}

出力:- https://eval.in/926729

于 2017-12-28T09:57:00.067 に答える