View difference between Paste ID: gT6csc2V and Y5nswNwW
SHOW: | | - or go back to the newest paste.
1
<?php
2-
$data = [
2+
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-
    $tahun = [
17+
18
19
    $arTahun = 
20
    [
21
        '2019',
22
        '2020',
23-
    for($i=0;$i<count($tahun);$i++){
23+
24-
        $tahun == $tahun[$i];
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 $data;
41+
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' } ]