Tach!
$sonnenzeiten = array
(
array("Sonnenaufgang",1428465059),
array("Sonnenfrühstück",1428479459),
array("Mittagssonne",1428487259),
array("Nachmittagssonne",1428498059),
array("Abendsonne",1428498059),
array("Sonnenuntergang",1428519599)
);
$jetzt = 1428504659;
$result = array_reduce($sonnenzeiten, function ($prev, $item) use ($jetzt) {
if ($prev === null) // erster Durchlauf
return $item;
$diffPrev = abs($prev[1] - $jetzt);
$diffItem = abs($item[1] - $jetzt);
return $diffPrev < $diffItem ? $prev : $item;
}));
Ergebnis ist das Array mit der Abendsonne. Bei gleichen Werten (wie bei Nachmittag und Abend) oder gleichem Abstand gewinnt der später kommende Wert.
dedlfix.