Imbriquée foreach()

J'ai le tableau suivant:

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

Je suis en utilisant une étude foreach() pour marcher à travers les éléments à l'extérieur de tableau mais quand il s'agit de cracher la liste des auteurs que je suis en cours d'exécution dans des problèmes. À savoir le problème de sortie de chacun multiples (plusieurs) fois à cause de la folle foreach() de nidification. Ce serait une meilleure approche que de nidification foreach() boucles dans cet exemple?

Mise à JOUR (Avec solution)

Voici la boucle que j'ai réglé le, un peu brouillon (à mon humble avis), mais il fonctionne:

$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";
}
sonne bien, peut-être que vous devriez poster votre code en boucle?
boucles imbriquées ne sont pas par défaut une mauvaise chose. permet de voir un peu de code. Mon premier sauvages conjecture est que vous d'écraser une variable à partir de la outerloop dans l'intérieur de la boucle 🙂
Postez votre code de boucle. L'imbrication foreach est très bien (à l'aide d'assoc des tableaux vous aider à déboguer)

OriginalL'auteur Nicholas Kreidberg | 2009-08-10