fork(1) download
  1. <?php
  2.  
  3. function parcelas($data, $numero)
  4. {
  5. $parc = array();
  6. $parc[] = $data;
  7. list($dia, $mes, $ano) = explode("/", $data);
  8. for($i = 1; $i < $numero;$i++)
  9. {
  10. $mes++;
  11. if ((int)$mes == 13)
  12. {
  13. $ano++;
  14. $mes = 1;
  15. }
  16. $tira = $dia;
  17. while (!checkdate($mes, $tira, $ano))
  18. {
  19. $tira--;
  20. }
  21. $parc[] = sprintf("%02d/%02d/%s", $tira, $mes, $ano);
  22. }
  23. return $parc;
  24. }
  25.  
  26.  
  27. $data = "29/01/2015";
  28.  
  29. var_dump(parcelas($data, 13));
Success #stdin #stdout 0s 52488KB
stdin
Standard input is empty
stdout
array(13) {
  [0]=>
  string(10) "29/01/2015"
  [1]=>
  string(10) "28/02/2015"
  [2]=>
  string(10) "29/03/2015"
  [3]=>
  string(10) "29/04/2015"
  [4]=>
  string(10) "29/05/2015"
  [5]=>
  string(10) "29/06/2015"
  [6]=>
  string(10) "29/07/2015"
  [7]=>
  string(10) "29/08/2015"
  [8]=>
  string(10) "29/09/2015"
  [9]=>
  string(10) "29/10/2015"
  [10]=>
  string(10) "29/11/2015"
  [11]=>
  string(10) "29/12/2015"
  [12]=>
  string(10) "29/01/2016"
}