Как на php правильно получать предыдущий месяц?
Посмотрите на результат выражения date('Ym'). Долго. Вдумчиво...
$dates = [];

for ($i = 1; $i <= 6; $i++) {
	$date = new DateTime();
	$date->modify('first day of this month');
	$date->modify("-$i month");
	$dates[$i] = [
		'month' => $date->format('n'),
		'year' => $date->format('Y'),
	];
}

print_r($dates);

Такая проблема только при вычитании в конце месяца. Решение перевести месяц в первое число, так как числа вам не важны.