Mas o loop é para ir de 1 em 1 dia?
Seria algo assim:
// primeiro dia do mês atual
$current = strtotime('first day of this month midnight');
// data inicial
$data = strtotime('2023-05-01');
while ($data <= $current) { // enquanto for menor que o primeiro dia do mês atual
// faz algo com a data (aqui vou só imprimir)
echo date('Y-m-d', $data). "\n";
// soma 1 dia
$data += 24 * 3600;
}
No caso, strotime
retorna o timestamp em segundos, por isso para somar 1 dia vc soma a quantidade de segundos que tem em um dia (24 * 3600
).