je le tableau suivant:Nested foreach()
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)
)
)
)
J'utilise un foreach imbriquée() pour marcher à travers les éléments du tableau extérieur, mais quand il vient à cracher sur la liste des auteurs que je suis en cours d'exécution dans des problèmes. A savoir le problème de sortir plusieurs fois (plusieurs) fois à cause de l'imbrication foreach() fou. Quelle serait une meilleure approche que l'imbrication des boucles foreach() dans cet exemple?
MISE À JOUR (Avec la solution)
Voici la boucle je me suis installé sur, un peu en désordre (à mon humble avis), mais cela 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 vous devriez envoyer votre code de boucle? –
Les boucles imbriquées ne sont pas par défaut une mauvaise chose. permet de voir du code. Ma première conjecture est d'écraser une variable du loop externe dans la boucle intérieure :) – Rufinus
Postez votre code de boucle. L'imbrication de foreach est très bien (l'utilisation de tableaux assoc vous aiderait à déboguer) – Dirk