Met adlı üyeden alıntı: mesajı görüntüle
uksort ile anahtarlarına göre bir diziyi kendi kurallarınız doğrultusunda sıralayabilirsiniz. Aşağıda diziyi o an ki saate en yakından en uzağa sıralıyorum, array_shift ile çekeceğiniz eleman en yakın olacaktır. Burda dikkat etmeniz gereken diziyi yeniden sıralamamız, eğer diziyi daha sonra farklı işlemler için kullanacaksanız ve sıralaması önemli ise önce başka bir değişkene atayıp daha sonra o dizi üzerinden işlem yapmanız olacak.

uksort($saatler, function ($p1, $p2){
$simdi = time();
$p1_parts = explode(":", $p1);
$p1t = mktime($p1_parts[0], $p1_parts[1]);
$p2_parts = explode(":", $p2);
$p2t = mktime($p2_parts[0], $p2_parts[1]);

if(abs($simdi - $p1t) < abs($simdi - $p2t)){
return -1;
}elseif (abs($simdi - $p1t) > abs($simdi - $p2t)){
return 1;
}else{
return 0;
}
});

print_r($saatler);

$en_yakin = array_shift($saatler);
Teşekkürler hocam işime yaradı