kura2yamato

perbaikan 008

Oct 20th, 2021
867
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. //codingan
  3. $data =
  4.     [
  5.         [
  6.             'hak' => '12',
  7.             'tambahan' => '6',
  8.             'sisa' => '12',
  9.             'tahun' => '2019'
  10.         ],
  11.         [
  12.             'hak' => '12',
  13.             'tambahan' => '6',
  14.             'sisa' => '12',
  15.             'tahun' => '2021'
  16.         ]
  17.     ];
  18.  
  19.     $arTahun =
  20.     [
  21.         '2019',
  22.         '2020',
  23.         '2021'
  24.     ];
  25.  
  26.     $newdata =
  27.         [
  28.             'hak' => 0,
  29.             'tambahan' => 0,
  30.             'sisa' => 0,
  31.             'tahun' => 0
  32.         ];
  33.     for($i=0; $i < count($arTahun); $i++)
  34.     {
  35.         $tahun = $arTahun[$i];
  36.         $result[$tahun] = $newdata;
  37.         $result[$tahun]['tahun'] = $tahun;
  38. /*                                    
  39.         $filterData = array_filter($data, function($entry) {
  40.             global $tahun;
  41.             return $entry['tahun'] == $tahun;
  42.         } );
  43.         $newdata = [
  44.             'hak' => '12',
  45.             'tambahan' => '0',
  46.             'sisa' => '0',
  47.             'tahun' => $tahun
  48.         ];
  49.         if(count($filterData)==0){
  50.             $data = array_push($newdata);
  51.         }
  52. */        
  53.     }
  54.  
  55.     foreach( $data as $row )
  56.     {
  57.         $tahun = $row['tahun'];
  58.         foreach($row as $key => $val)
  59.         {
  60.             if($key != 'tahun')
  61.             {
  62.                 if(!isset($result[$tahun][$key]))
  63.                     $result[$tahun][$key] = 0;
  64.                
  65.                 $result[$tahun][$key]+= (int) $val;  
  66.             }
  67.            
  68.         }
  69.        
  70.     }
  71.  
  72.     print_r( $result  );
  73. ?>
  74.  
  75. //hasil yang diinginkan:
  76.  
  77. [ { hak: '12', tambahan: '6', sisa: '12', tahun: '2019' },
  78.   { hak: '12', tambahan: '0', sisa: '0', tahun: '2020' },
  79.   { hak: '12', tambahan: '6', sisa: '12', tahun: '2021' } ]
RAW Paste Data