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 :

Remplissage de tableau incorrect.


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Aucune
    Inscrit en
    Juillet 2019
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Aucune

    Informations forums :
    Inscription : Juillet 2019
    Messages : 49
    Points : 41
    Points
    41
    Par défaut Remplissage de tableau incorrect.
    Bonjour

    Je remplis un tableau à partir d'un fichier .json.

    Cela fonctionne mais sur les 5 lignes que compte mon tableau, une est incorrecte, l'index 1. Pourtant que j affiche les valeurs à insérer dans la boucle elle sont correctes.
    Voici le resultat du vardump() sur le tableau avec en gras ce qui pose pb.
    array (size=5)
    0 =>
    array (size=2)
    'high' => int 22
    'low' => int 22
    1 =>
    array (size=4)
    0 => string 'high' (length=4)
    1 => string 'low' (length=3)
    'high' => float 28.876
    'low' => float 28.75

    2 =>
    array (size=2)
    'high' => float 27.376
    'low' => float 27.25
    3 =>
    array (size=2)
    'high' => float 25.376
    'low' => float 25.25
    4 =>
    array (size=2)
    'high' => int 26
    'low' => float 25.876
    Le code que j utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $data     = json_decode($jsonData, true);
    $tab = array(array(), array("high", "low"));
    for ($i = 0; $i < 5; $i++) {
     
                    /* CET AFFICHAGE EST CORRECT */
    		echo $i . ' -> ' . $data[$i]['high'] . ' / ' . $data[$i]['low'] . '<br/>';
     
    		$tab[$i]['high'] = $data[$i]['high'];
    		$tab[$i]['low']  = $data[$i]['low'];
    	}
    	var_dump($tab);
    le résultat de mon affichage des valeurs dans la boucle est lui correct (en gras).
    0 -> 22 / 22
    1 -> 28.876 / 28.75
    2 -> 27.376 / 27.25
    3 -> 25.376 / 25.25
    4 -> 26 / 25.876
    Comme tout débutant j ai lu doc et tutaux mais là je pensais que cela était correct.

    D'où vient mon pb et pourquoi ne se produit il qu une seule fois ?

    Merci de vos éclairages et conseils.

  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
    Dans votre tableau dans l'indice 1, vous possèdez un tableau de 4 éléments.
    Deux sont numérique et deux associatifs.

    si je décompose cette partie, cela va donner ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    $data[1][0] = 'high';
    $data[1][1] = 'low';
    $data[1]['high'] = 28.876
    $data[1]['low'] = 28.75
    Donc c'est normal que cela fonctionne , car vous n’appelez pas l'indice 0 et 1
    Maintenant pourquoi, il faudrais voir le fichier Json.

  3. #3
    Membre du Club
    Homme Profil pro
    Aucune
    Inscrit en
    Juillet 2019
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Aucune

    Informations forums :
    Inscription : Juillet 2019
    Messages : 49
    Points : 41
    Points
    41
    Par défaut
    J ai vérifie, mon json est correct, c est la déclaration de m ont tableau qui posait problème.
    Tout est rentré dans l ordre avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$tab = array(array(), array());

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

Discussions similaires

  1. Probleme de remplissage de tableau (ecrasement de donnees)
    Par roulia_rousset dans le forum Langage
    Réponses: 4
    Dernier message: 05/06/2008, 14h44
  2. Réponses: 3
    Dernier message: 13/03/2008, 09h46
  3. remplissage de tableau
    Par goeps dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 05/05/2007, 10h56
  4. [Débutant] Problème de création et de remplissage de tableau
    Par pinggu dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 24/05/2006, 15h50
  5. [JComboBox] Remplissage avec tableau de String
    Par linkit dans le forum Composants
    Réponses: 2
    Dernier message: 26/05/2005, 21h39

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