Почему in_array в цикле видит только первый элемент?
Проблема в том, что строка из которой создавался массив в конце содержит (скорее всего) перевод строки, т.о. второй (он же последний элемент) содержит непечатаемые символы, которые мешают сравнению.$time = array_map('trim', $time);
решит проблему
Добавьте третий аргумент в функцию
https://www.php.net/manual/ru/function.in-array.php
Третий аргумент true