first of all you need to define $myVar (before foreach) as you did: $myVar = [];
second you need to define/isset $myVar[$data->flag], $myVar[$data->flag][$data->year] and $myVar[$data->flag][$data->year]['totalActions'] inside the foreach
in summery the whole snippet of code will be like so:
$myVar = [];
foreach($result as $data)
{
$myVar[$data->flag] = isset($myVar[$data->flag]) ? $myVar[$data->flag] : '';
$myVar[$data->flag][$data->year] = isset($myVar[$data->flag][$data->year]) ? $myVar[$data->flag][$data->year] : '';
$myVar[$data->flag][$data->year]['totalActions'] = isset($myVar[$data->flag][$data->year]['totalActions']) ? $myVar[$data->flag][$data->year]['totalActions'] : 0;
$myVar[$data->flag][$data->year]['totalActions'] += $data->totalActions;
}
or simply ignore the the errors by using @ before $myVar so you can do so:
$myVar = [];
foreach($result as $data)
{
@$myVar[$data->flag][$data->year]['totalActions'] += $data->totalActions;
}
contractDetailshere?$data->year(string ?) and$data->totalActions(int ?) ?