$row) { if (!$year || $year['year'] != $row['y']) { unset($year); $year = [ 'year' => $row['y'], 'title' => $row['y'], 'submenu' => [], ]; $data[] = &$year; if ($year['year'] == 0) { $year['title'] = $print[0]; $year['year'] = 'null'; break; } } $year['submenu'][] = [ 'month' => $row['m'], 'year' => $row['y'], 'title' => $print[$row['m']], ]; } return array_merge($vars, [ 'data' => $data, ]); } }