fork download
  1. <?php
  2.  
  3. function gerarParcelas($dataInicial, $intervalos, $valorTotal) {
  4. $datasParcelas = [];
  5. $quantidadeParcelas = count($intervalos);
  6. $valorParcela = $valorTotal / $quantidadeParcelas;
  7.  
  8. foreach ($intervalos as $dias) {
  9. $dataVencimento = clone $dataInicial;
  10. $dataVencimento->modify("+{$dias} days");
  11. $datasParcelas[] = [
  12. 'data_vencimento' => $dataVencimento,
  13. 'valor_parcela' => $valorParcela
  14. ];
  15. }
  16.  
  17. return $datasParcelas;
  18. }
  19.  
  20. // Exemplo de uso
  21. $dataInicial = new DateTime('2024-07-06');
  22. $intervalos = [28, 42, 56];
  23. $valorTotal = 1000.00;
  24.  
  25. $parcelas = gerarParcelas($dataInicial, $intervalos, $valorTotal);
  26.  
  27. foreach ($parcelas as $parcela) {
  28. echo "Data de Vencimento: " . $parcela['data_vencimento']->format('Y-m-d') . PHP_EOL;
  29. echo "Valor da Parcela: R$ " . number_format($parcela['valor_parcela'], 2, ',', '.') . PHP_EOL;
  30. echo "-----------------------" . PHP_EOL;
  31. }
  32.  
Success #stdin #stdout 0.04s 25900KB
stdin
Standard input is empty
stdout
Data de Vencimento: 2024-08-03
Valor da Parcela: R$ 333,33
-----------------------
Data de Vencimento: 2024-08-17
Valor da Parcela: R$ 333,33
-----------------------
Data de Vencimento: 2024-08-31
Valor da Parcela: R$ 333,33
-----------------------