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)
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
Vous devez vous connecter pour publier un commentaire.
Pourquoi ne pas vous faire
OriginalL'auteur michal kralik
Si votre problème est que vous avez le même auteur sur plusieurs articles, et donc l'obtention de la sortie plus d'une fois, la solution la plus simple est de construire un tableau d'auteurs au lieu de la sortie tout de suite.
Lorsque vous avez un tableau de tous les auteurs que vous avez traitées jusqu'à présent, vous pouvez comparer facilement si cet auteur est déjà là ou pas.
OriginalL'auteur Jani Hartikainen
Juste pour le plaisir. Si vous vraiment voulez éviter les boucles, essayez ceci:
OriginalL'auteur mermshaus
Prendre un regardez cette
Alors que ce lien peut répondre à la question, il est préférable d'inclure les parties essentielles de la réponse et de fournir le lien de référence. Lien-ne répond peut devenir non valide si la page liée changements.
Je faisais référence à toutes les réponses dans ce Stackoverflow fil. Si jamais ils briser ces liens, il serait très regrettable, donc j'en doute fortement
OriginalL'auteur Bostone