Page 1 sur 2
Problème avec l'affichage de tableau
Posté : 16 juil. 2007, 13:24
par Invité
Bonjour tout le monde,
voila mon problème, je n'arrive pas à afficher le contenu d'un tableau (qui correspond à ce qu'il y a dans un ficher xml).
Quelqu'un peut-il m'aider.
Voici mon code :
<?$lien = $document->getElementsByTagName('lien');
foreach ($lien as $lien)
{
$tab[] = $lien;
}
...
echo $tab; ?>
et à l'écran, j'ai ceci
au lieu d'avoir le contenu de mon tableau. Que faut-il que je fasse ?
Posté : 16 juil. 2007, 14:04
par d0m
pour afficher le contenu d'un tableau,
va voir du coté de cette fonction
print_r
ou alors parcours ton tableau avec :
foreach($lien as $cle => $contenu)
echo $contenu
A par cela, le reste de ton code est faux, rien que le
foreach($lien as $lien)
le même nom pour 2 variables différentes...
Posté : 16 juil. 2007, 14:20
par Invité
oui mais là comme tu fais, ca va pas car tu afffiche tout dans la boucle. Moi ce que je veux, c'est tout stocker dans un tableau. Et ensuite plus loin dans mon code, affiché le tableau.
Posté : 16 juil. 2007, 14:34
par d0m
oui mais là comme tu fais, ca va pas car tu afffiche tout dans la boucle. Moi ce que je veux, c'est tout stocker dans un tableau. Et ensuite plus loin dans mon code, affiché le tableau.
Es tu allé voir dans le manuel la fonction print_r comme je te l'avais dit?
print_r($tab);
Posté : 16 juil. 2007, 14:52
par Invité
oui, mais ca m'affiche
et j'ai pas envie d'avoir [0] => ... je veux juste les valeurs.
Posté : 16 juil. 2007, 15:03
par d0m
j'ai pas envie d'avoir [0] => ... je veux juste les valeurs.
alors utiliser le foreach comme je t'ai dit plus haut :
je te conseille de regarder le manuel sur les tableau et leurs parcours
http://fr.php.net/manual/fr/ref.array.php
foreach($tab as $cle => $valeur)
echo $valeur;
Posté : 16 juil. 2007, 15:17
par Invité
oui mais là comme tu fais, ca va pas car tu afffiche tout dans la boucle. Moi ce que je veux, c'est tout stocker dans un tableau. Et ensuite plus loin dans mon code, affiché le tableau.
Posté : 16 juil. 2007, 15:20
par Sékiltoyai
oui mais là comme tu fais, ca va pas car tu afffiche tout dans la boucle. Moi ce que je veux, c'est tout stocker dans un tableau. Et ensuite plus loin dans mon code, affiché le tableau.
On te dit de faire une nouvelle boucle.
Posté : 16 juil. 2007, 15:20
par d0m
on va reprendre depuis le début....
tu stockes ce que tu veux dans ton tableau $tab....
une fois que tu as terminé toutes tes boucles,
tu affiches ton tableau avec un foreach sur le tableau,
en gros tu le parcours...
*edit :
On te dit de faire une nouvelle boucle.
merci
Posté : 16 juil. 2007, 15:53
par Invité
On te dit de faire une nouvelle boucle.
jamais !
Posté : 16 juil. 2007, 15:56
par d0m
On te dit de faire une nouvelle boucle.
jamais !
c'est pas comme pour tes cheveux, personne se moquera de toi si tu refais des boucles

Posté : 16 juil. 2007, 15:58
par Sékiltoyai
On te dit de faire une nouvelle boucle.
jamais !
On est tombé sur un cas là...
Est ce que tu peux nous expliquer pourquoi tu ne veux pas faire une nouvelle boucle pour afficher ton tableau ?
Posté : 16 juil. 2007, 16:21
par Invité
non mais si je veux bien faire une nouvelle boucle. Ce que je voulais dire c'est que vous ne me l'aviez pas dit clairement, et donc je n'avais pas compris.
Et puis honnetement, je ne vois pas comment il faut faire.
Posté : 16 juil. 2007, 16:31
par Sékiltoyai
D'accord.
En fait, quand je voulais dire qu'on t'avais dit de faire une nouvelle boucle, c'était qu'on te l'avait dit implicitement (tout n'est pas explicite dans la vie

).
Mais de toute facon il y a trucs qui me choquent :
1) Tu fais ca :
foreach ($lien as $lien)
{
$tab[] = $lien;
}
Je n'ai jamais testé mais $lien as $lien est normalement invalide, tu assigne à la variable contenant ton tableau une valeur de ce tableau... Il faut utiliser deux noms différents pour le tableau et la variable interne au foreach.
2) Concernant l'utilité de ce code, à quoi cela sert-il de construire un tableau avec le contenu d'un autre tableau ? Pourquoi ne pas utiliser directement le tableau initial ?
Posté : 16 juil. 2007, 17:07
par Invité
oui effectivement, ce serait plus judicieux de n'utiliser qu'un seul tableau.
Je vais y travailler ce soir.