Andre548, перепишите его, используя другие наименования переменных, не совершайте ошибку новичков - не именуйте переменные просто буквами даже внутри циклов - это очень плохая практика, тем более буква А - с ней же всё так не просто:
чем отличается $a от $а ?
визуально ни чем, но во втором варианте я написал кириллический символ а
Andre548, значит в цикле у вас даты не в том же формате, который вы указали в вопросе. Для проверки значений переменных есть функции отладки, например var_dump, учитесь пользоваться отладкой.