Verschachtelte foreach ()

Ich habe das folgende Array:

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 ) 
      ) 
    ) 
  )

Ich benutze ein verschachteltes foreach (), um durch die Elemente im äußeren Array zu gehen, aber wenn es darum geht, die Liste der Autoren auszuspucken, stoße ich auf Probleme. Nämlich das Problem, dass aufgrund der verrückten foreach () - Verschachtelung jedes einzelne mehrfach (mehrfach) ausgegeben wird. Was wäre ein besserer Ansatz als die Verschachtelung von foreach () - Schleifen in diesem Beispiel?

UPDATE (mit Lösung)

Hier ist die Schleife, die ich festgelegt habe, ein bisschen chaotisch (IMHO), aber es funktioniert:

$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";
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage