<?php
/**
* Takes start and end date string in format 'mm/yyyy' along with a $months and $years
* arrays; modifies the arrays in place to add all months and years between the dates
*/
function listMonthsAndYears($start, $end, &$months, &$years) {
$m = $startM;
$y = $startY;
while($endY > $y || ($endY === $y && $endM >= $m) ){
$months[]= $m;
$years[] = $y;
$m++;
if($m > 12){
$m = 1;
$y++;
}
}
}
$start = '2/2016';
$end = '11/2017';
listMonthsAndYears($start, $end, $months, $years);
PD9waHAKLyoqCiAqIFRha2VzIHN0YXJ0IGFuZCBlbmQgZGF0ZSBzdHJpbmcgaW4gZm9ybWF0ICdtbS95eXl5JyBhbG9uZyB3aXRoIGEgJG1vbnRocyBhbmQgJHllYXJzCiAqIGFycmF5czsgbW9kaWZpZXMgdGhlIGFycmF5cyBpbiBwbGFjZSB0byBhZGQgYWxsIG1vbnRocyBhbmQgeWVhcnMgYmV0d2VlbiB0aGUgZGF0ZXMKICovCmZ1bmN0aW9uIGxpc3RNb250aHNBbmRZZWFycygkc3RhcnQsICRlbmQsICYkbW9udGhzLCAmJHllYXJzKSB7CgogIGxpc3QoJHN0YXJ0TSwgJHN0YXJ0WSkgPSBhcnJheV9tYXAoJ2ludHZhbCcsZXhwbG9kZSgnLycsJHN0YXJ0KSk7CiAgbGlzdCgkZW5kTSwgJGVuZFkpID0gYXJyYXlfbWFwKCdpbnR2YWwnLGV4cGxvZGUoJy8nLCRlbmQpKTsKICAkbSA9ICRzdGFydE07CiAgJHkgPSAkc3RhcnRZOwoKICB3aGlsZSgkZW5kWSA+ICR5IHx8ICgkZW5kWSA9PT0gJHkgJiYgJGVuZE0gPj0gJG0pICl7CiAgICAkbW9udGhzW109ICRtOwogICAgJHllYXJzW10gPSAkeTsKICAgICRtKys7CiAgICBpZigkbSA+IDEyKXsKICAgICAgJG0gPSAxOwogICAgICAkeSsrOwogICAgfQogIH0KfQoKCiRzdGFydCA9ICcyLzIwMTYnOwokZW5kID0gJzExLzIwMTcnOwpsaXN0TW9udGhzQW5kWWVhcnMoJHN0YXJ0LCAkZW5kLCAkbW9udGhzLCAkeWVhcnMpOwoKcHJpbnRfcihbJG1vbnRocywkeWVhcnNdKTsK