fork download
  1. <?php
  2.  
  3. function gerarVencimentos(DateTime $dataInicial, array $intervalos): array {
  4. $datasVencimento = [];
  5.  
  6. foreach ($intervalos as $dias) {
  7. $dataVencimento = clone $dataInicial;
  8. $dataVencimento->modify("+{$dias} days");
  9. $datasVencimento[] = $dataVencimento;
  10. }
  11.  
  12. return $datasVencimento;
  13. }
  14.  
  15. // Exemplo de uso
  16. $dataInicial = new DateTime('2024-07-06');
  17. $intervalos = [0, 30, 60, 90, 28, 42, 56];
  18.  
  19. $datasVencimento = gerarVencimentos($dataInicial, $intervalos);
  20.  
  21. foreach ($datasVencimento as $data) {
  22. echo $data->format('Y-m-d') . PHP_EOL;
  23. }
  24.  
Success #stdin #stdout 0.02s 26304KB
stdin
Standard input is empty
stdout
2024-07-06
2024-08-05
2024-09-04
2024-10-04
2024-08-03
2024-08-17
2024-08-31