3v4l.org

run code in 300+ PHP versions simultaneously
<?php $parcelas = 15; $primeiroVencimento = DateTime::createFromFormat('Y-m-d', '2015-01-30'); $vencimentos = array(); for ($i = 0; $i < $parcelas; $i++) { $interval = new DateInterval("P{$i}M"); $date = clone $primeiroVencimento; $date->add($interval); if ($date->format('d') < 30) { $date->setDate($date->format('Y'), $date->format('m'), 1); } $vencimentos[] = $date->format('Y-m-d'); } var_dump($vencimentos);

preferences:
56.67 ms | 402 KiB | 5 Q