Problème avec l'affichage de tableau

Invité
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 13:24

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

Code : Tout sélectionner

Array
au lieu d'avoir le contenu de mon tableau. Que faut-il que je fasse ?

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 14:04

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

Invité
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 14:20

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.

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 14:34

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

Invité
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 14:52

oui, mais ca m'affiche

Code : Tout sélectionner

Array ( [0] => file1.zip [1] => image.jpg
et j'ai pas envie d'avoir [0] => ... je veux juste les valeurs.

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 15:03

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;

Invité
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 15:17

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.

ViPHP
ViPHP | 5924 Messages

16 juil. 2007, 15:20

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.

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 15:20

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

Invité
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 15:53

On te dit de faire une nouvelle boucle.
jamais !

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 15:56

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 :wink:

ViPHP
ViPHP | 5924 Messages

16 juil. 2007, 15:58

On te dit de faire une nouvelle boucle.
jamais !
:shock:

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 ?

Invité
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 16:21

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.

ViPHP
ViPHP | 5924 Messages

16 juil. 2007, 16:31

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 ?

Invité
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 17:07

oui effectivement, ce serait plus judicieux de n'utiliser qu'un seul tableau.

Je vais y travailler ce soir.