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 :

Récupérer les données de plusieurs tableaux JSON en boucle !


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Points : 79
    Points
    79
    Par défaut Récupérer les données de plusieurs tableaux JSON en boucle !
    Bonjour,
    j'ai tant essayé de boucler et reboucler en vain. En effet, j'ai un flux json dont la structure est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    array(5) {
      ["VersionFlux"]=>
      string(9) "Beta 0.4f"
      ["GrdSimul"]=>
      string(1) "H"
      ["NbElements"]=>
      int(491)
      ["Previsions"]=>
      array(2) {
        ["NbElements"]=>
        int(7)
        ["ListeStation"]=>
        array(7) {
          [0]=>
          array(2) {
            ["DtProdSimul"]=>
            int(1553849129000)
            ["CdStationHydro"]=>
            string(10) "H520101003"
          }
          [1]=>
          array(2) {
            ["DtProdSimul"]=>
            int(1553849129000)
            ["CdStationHydro"]=>
            string(10) "Q745101001"
          }
          [2]=>
          array(2) {
            ["DtProdSimul"]=>
            int(1553849129000)
            ["CdStationHydro"]=>
            string(10) "Q935002001"
          }
          [3]=>
          array(2) {
            ["DtProdSimul"]=>
            int(1553849129000)
            ["CdStationHydro"]=>
            string(10) "Q935251001"
          }
          [4]=>
          array(2) {
            ["DtProdSimul"]=>
            int(1553760136000)
            ["CdStationHydro"]=>
            string(10) "U472002001"
          }
          [5]=>
          array(2) {
            ["DtProdSimul"]=>
            int(1553702878000)
            ["CdStationHydro"]=>
            string(10) "R730001001"
          }
          [6]=>
          array(2) {
            ["DtProdSimul"]=>
            int(1553702878000)
            ["CdStationHydro"]=>
            string(10) "S012001001"
          }
        }
      }
      ["PasPrevisions"]=>
      array(2) {
        ["NbElements"]=>
        int(484)
        ["ListeStation"]=>
       ........
    }
    }
    j'aimerai récupérer dans un tableau les données 'DtProdSimu'l et 'CdStationHydro' du tableau ["Previsions"] du flux.
    voilà le bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $json=file_get_contents('mon_flux.json');
    $parsed_json = json_decode($json,true);
     
    $tab_date_simul=array();
     $tab_stat_simul=array();
    foreach($parsed_json as $id=>$v){
     $tab_date_simul[$id]=$v->{'Previsions'}->{'ListeStation'}->{'DtProdSimul'};// me renvoie tous les tableaux vide (Null)
     $tab_date_simul[$id]=$v->['Previsions'][$id]->['ListeStation'][$id]->['DtProdSimul'][$id];// affiche une page blanche
    }
    echo'<pre>';
    var_dump($tab_date_simul);
    echo'</pre>';
    J'ai un peu du mal avec les tableaux. Peut-être quelqu'un peut m'aider à récupérer ces données ?
    Je vous remercie d'avance

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour en supposant que votre garde toujours la même structure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    $json = file_get_contents('mon_flux.json');
    $parsed_json = json_decode($json, true);
     
    $tab_date_simul = [];
    $tab_stat_simul = [];
    foreach ($parsed_json['Previsions']['ListeStation'] as $value) {
        $tab_date_simul[] = $value['DtProdSimul'];
        $tab_stat_simul[] = $value['CdStationHydro'];
     }
    echo '<pre>';
    var_dump($tab_date_simul);
    echo '</pre>';

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Points : 79
    Points
    79
    Par défaut
    Merci Maître j'avais pourtant utiliser trois boucles pour y arriver et une seule suffit ! Merci !

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

Discussions similaires

  1. [Windows Phone 8] Récupérer les données depuis un webservice Json toutes les 30 secondes
    Par arrakis42 dans le forum Windows Phone
    Réponses: 7
    Dernier message: 25/08/2013, 10h47
  2. Transférer les donnés de plusieurs tableaux sous un seul tableur
    Par mathleroyal dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/02/2013, 13h47
  3. [XL-2003] Récupérer les données de plusieurs fichiers d'un même répertoire sans les ouvrir
    Par mattic59 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/09/2011, 20h45
  4. Récupérer les données de 2 tableaux dans une boucle
    Par poleta77 dans le forum Langage
    Réponses: 6
    Dernier message: 21/12/2009, 15h41
  5. Réponses: 15
    Dernier message: 14/06/2009, 04h20

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