3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = array('05:11','05:21','05:24','05:31','05:34','05:41','05:44','05:50','05:54'); function getClosest($search, $arr) { $item = null; while ($key = key($arr) !== null) { $current = current($arr); $item = next($arr); if ( strtotime($current) < strtotime($search) && strtotime($item) >= strtotime($search) ) { break; } else if ( strtotime($current) > strtotime($search) ) { $item = $current; break; } } return $item; } print_r([ getClosest('05:50', $arr), getClosest('05:34', $arr), getClosest('05:52', $arr), getClosest('05:15', $arr), getClosest('05:10', $arr), ]);

preferences:
148.25 ms | 409 KiB | 5 Q