IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

parcourir un array


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 34
    Points : 26
    Points
    26
    Par défaut parcourir un array
    Bonjour à tous,

    voila j'ai une question assez basique, mais je débute donc c'est encore un peu confus dans ma tête,donc soyez indulgent.

    Voila je parcourt un tableau avec foreach, pour afficher la valeur de deux colonnes name et id voila ce que je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        foreach ($arCat as $nomvar => $valeurvar) {
        echo "auteur de la catégorie  ". utf8_decode($valeurvar['title']) ."  :  " . utf8_decode($valeurvar['name']) . "<br>";
        $id_cat = $valeurvar['nid'];
        echo "id de la catégorie  ". utf8_decode($valeurvar['title']) ."  :  " . $id_cat . "<br>";
        }
    tout se passe bien , j'ai 7 catégories et j'ai bien 7 noms et id.
    ce que je veux faire c'est réutiliser les id afin de parcourir les éléments de mes catégories, donc j'ai pensé à déclarer la variable $id_cat comme un tableau et la parcourir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $id_Cat = array();
        foreach ($arCat as $nomvar => $valeurvar) {
        echo "auteur de la catégorie  ". utf8_decode($valeurvar['title']) ."  :  " . utf8_decode($valeurvar['name']) . "<br>";
        $id_cat = $valeurvar['nid'];
        echo "id de la catégorie  ". utf8_decode($valeurvar['title']) ."  :  " . $id_cat . "<br>";
        }
    ensuite parcourir le tableau $id_cat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach ($id_cat as $valeurvar)
    {
    ....
     
    }
    mais j'ai cette erreur : Invalid argument supplied for foreach().

    est ce bien comme ça qu'il faut procéder pour stocker tous les id et par la suite les réutiliser?

    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 227
    Points
    20 227
    Par défaut
    Tu peux faire comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $id_Cat = array();
    foreach ($arCat as $nomvar => $valeurvar) {
    	echo "auteur de la catégorie  ". utf8_decode($valeurvar['title']) ."  :  " . utf8_decode($valeurvar['name']) . "<br>";
    	$id_Cat[] = $valeurvar['nid'];
    	echo "id de la catégorie  ". utf8_decode($valeurvar['title']) ."  :  " . $valeurvar['nid'] . "<br>";
    }
     
    foreach ($id_Cat as $id) {
    	echo $id;
    }
    Mais c'est peu bête de recréer un tableau avec uniquement les id alors que tu as déjà ces id dans un tableau que tu viens déjà de parcourir.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 34
    Points : 26
    Points
    26
    Par défaut
    Bonjour grunk et merci beaucoup pour ta réponse, elle fonctionne.

    je sais que ce n'est pas la meilleur façon, mais en fait qund je fais un seul foreach:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    foreach ($arCat as $nomvar => $valeurvar) {
    	echo "auteur de la catégorie  ". utf8_decode($valeurvar['title']) ."  :  " . utf8_decode($valeurvar['name']) . "<br>";
    	$id_cat = $valeurvar['nid'];
    	echo "<br>";
    	$section = file_get_contents('xxxxxx'.$id_cat);
    	$arsection = json_decode($section, true);
    	foreach ($arsection as $nomvar => $valeurvar) {
    	echo "auteur de la section  ". utf8_decode($valeurvar['title']) ."  :  " . utf8_decode($valeurvar['name']) . "<br>";
     
    	}
    	}
    j'ai que la première catégorie qui s'affiche et pas les autres, et j'ai toutes mes sections, je ne sais pas comment afficher toutes catégories et toutes sections.
    c'est pour cela j'ai fait un tableau avec les id.

    Si tu as une idée.

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 227
    Points
    20 227
    Par défaut
    Tu utilises les même noms de variable dans tes 2 foreach. forcément il y'a un écrasement à un moment donné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    foreach ($arCat as $nomvar => $valeurvar) {
    	echo "auteur de la catégorie  ". utf8_decode($valeurvar['title']) ."  :  " . utf8_decode($valeurvar['name']) . "<br>";
    	$id_cat = $valeurvar['nid'];
    	echo "<br>";
    	$section = file_get_contents('xxxxxx'.$id_cat);
    	$arsection = json_decode($section, true);
    	foreach ($arsection as $nomsection => $valeursection) {
    		echo "auteur de la section  ". utf8_decode($valeursection['title']) ."  :  " . utf8_decode($valeursection['name']) . "<br>";
    	}
    }
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 34
    Points : 26
    Points
    26
    Par défaut
    Merci grunk pour ton aide c'est résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] aide pour parcourir un array multi et insérer des info dans bdd
    Par kairi084 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/12/2010, 18h18
  2. Parcourir un array à 5 dimensions
    Par okoweb dans le forum Langage
    Réponses: 8
    Dernier message: 25/08/2010, 15h59
  3. [PHP 5.3] Parcourir deux array à la manière de deux boucle while
    Par jflorence dans le forum Langage
    Réponses: 8
    Dernier message: 23/03/2010, 17h35
  4. [Templates] Parcourir un array avec {section} ou {foreach}
    Par BILANGA dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 03/11/2009, 14h13
  5. Parcourir un array()
    Par Katachana dans le forum Langage
    Réponses: 8
    Dernier message: 21/08/2008, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo