Zagnieżdżone foreach ()

Mam następującą tablicę:

Array ( 
  [1] => Array ( 
    [spubid] => A00319 
    [sentered_by] => pubs_batchadd.php
    [sarticle] => Lateral mixing of the waters of the Orinoco, Atabapo
    [spublication] => Acta Cientifica Venezolana
    [stags] => acta,confluence,orinoco,rivers,venezuela,waters
    [authors] => Array ( 
      [1] => Array ( 
        [stype] => Author 
        [iorder] => 1 
        [sfirst] => A
        [slast] => Andersen ) 
      [2] => Array ( 
        [stype] => Author 
        [iorder] => 2 
        [sfirst] => S.
        [slast] => Johnson ) 
      [3] => Array ( 
        [stype] => Author 
        [iorder] => 3 
        [sfirst] => J. 
        [slast] => Doe ) 
      ) 
    ) 
  )

Używam zagnieżdżonego foreach () do przechodzenia przez elementy w zewnętrznej tablicy, ale jeśli chodzi o wyplucie listy autorów, napotykam problemy. Mianowicie problem wyprowadzania każdego z nich wielokrotnie (wiele) razy z powodu szalonego zagnieżdżania foreach (). Jakie byłoby lepsze podejście niż zagnieżdżanie pętli foreach () w tym przykładzie?

AKTUALIZACJA (Z rozwiązaniem)

Oto pętla, którą założyłem, trochę niechlujna (IMHO), ale działa:

$sauthors = NULL;
$stitle = NULL;

foreach($apubs as $apub)
{
  $stitle = $apub['sarticle'];
  foreach($apub as $svar=>$sval)
  {
    if($svar === "authors")
    {
      foreach($sval as $apeople)
      {
        $sauthors .= $apeople['slast'].", ".$apeople['sfirst']."; ";
      }
    }
  }
  echo "$sauthors<br />\n$stitle<br />\n";
}

questionAnswers(4)

yourAnswerToTheQuestion