Массив заполняет отсутствующий индекс

Имейте код, который отображает массив с одинаковым eid внутри, имеет массив дней

foreach ($data['display'] as $item) { $eid = implode($data['data'][$i]['eid']); $date = date('Y-m',strtotime($item['date_d'][0])); if (!isset($groups[$eid])) { $groups[$eid] = array( 'employeeId' => $eid, 'efullname' => $item['fullname'][0], 'hrsdiff' => $item['hrsdiff'][0], 'days' => array( $date => $item['key'][0], ) ); } else { @$groups[$eid]['days'][$date] += $item['key'][0]; } $i++; } 

который отображает:

 [0] => Array ( [employeeId] => 21 [efullname] => MANOGURA EDGAR [hrsdiff] => 2.2331 [days] => Array ( [2014-02] => 23 [2014-03] => 26 [2014-04] => 23 ) ) [1] => Array ( [employeeId] => 1 [efullname] => IBARDOLAZA VIRGILIO [hrsdiff] => 5.0333 [days] => Array ( [2014-01] => 2 [2014-02] => 24 [2014-03] => 26 [2014-04] => 26 ) ) 

хотите, чтобы массив days имел один и тот же индекс, если он отсутствует, он добавит отсутствующие индексные дни, а значение должно быть 0 ex в индексе [0], массив дней должен иметь [2014-01] => 0

Предполагая, что два массива могут отсутствовать в любом из них:

 $a = array('2014-02' => 'afoo', '2014-03' => 'abar', '2014-04' => 'abaz'); $b = array('2014-02' => 'bfoo', '2014-03' => 'bbar', '2014-01' => 'bbaz'); $a += array_fill_keys(array_keys(array_diff_key($b, $a)), 0); $b += array_fill_keys(array_keys(array_diff_key($a, $b)), 0); print_r($a); print_r($b); 

Вывод:

 Array ( [2014-02] => afoo [2014-03] => abar [2014-04] => abaz [2014-01] => 0 ) Array ( [2014-02] => bfoo [2014-03] => bbar [2014-01] => bbaz [2014-04] => 0 )