Gast: Array.findLast in PHP

Beitrag lesen

Du könntest das Array umdrehen, durchlaufen und bei dem ersten Vorkommen des gewünschten Schlüssels das Element in eine Variable übernehmen und die Schleife verlassen:

$s = false;

foreach(array_reverse($array) AS $v)
  if(!empty($v['datePublished']) && $s=$v)
    break;

Siehe Demo