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 :

[Tableaux] Récupération de valeurs sous forme de tableau


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 5
    Points
    5
    Par défaut [Tableaux] Récupération de valeurs sous forme de tableau
    Bonjour,

    J'ai un petit souci pour récuperer les valeurs d'une fonction.
    Je m'explique:
    Je dispose d'une fonction qui renvoie une valeur, un tableau de valeurs ou false. Je crée un petit script qui place des valeurs dans un tableau et certaines de ces valeurs sont extraites de fonctions. Je voudrais savoir comment placer des valeurs qui sont retournées par un tableau dans mon nouveau tableau.

    Pour l'instant je fais $TabArrive[8][$i]=MaFonction($valeur);

    Mais si ma fonction renvoie un tableau, ca ne peut pas marcher!

    Merci de votre aide.

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Salut,
    Peut-être devrais-tu tester le retour avant d'assigner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!is_array(MaFonction($valeur))) {...}

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse!

    En fait grâce à la fonction is_array j'ai pu vérifier que la fonction retournait toujours un tableau mais que dans certains cas le tableau n'a qu'une valeur.

    Comment pourrais-je dans ce cas récupérer mon tableau de valeurs? Dois-je avec une boucle assigner chaque valeur retournée dans une case de mon nouveau tableau? Mais comment connaitre la taille du tableau renvoyé?

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for ($i=0;$i=??;$i++)
    {
          $TabArrive[8][$i]=MaFonction($valeur);
    }
    Merci

  4. #4
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Pour la longueur du tableau, c'est la fonction count() qu'il te faut.
    Pour ce qui est de mettre le résultat dans un autre tableau, il faudrait d'abord que tu m'en expliques l'utilité ...

  5. #5
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Comment pourrais-je dans ce cas récupérer mon tableau de valeurs? Dois-je avec une boucle assigner chaque valeur retournée dans une case de mon nouveau tableau?
    Exactement OUI

    Mais comment connaitre la taille du tableau renvoyé?
    Avec count()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for ($i=0;$i=count($montableau);$i++)
    @+
    cadou

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Merci pour votre précieuse aide. J'ai cependant un pb lors de l'affichage.

    Je fais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $TabArrive[8][0]=MaFonction($TabArrive[3][$val]);
    Car pour l'instant j'essaie avec une valeur $val telle que MaFonction me renvoit un tableau d'une seule case. Pas besoin de boucle.

    Mon problème est qu'il m'affiche "Array".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $TabArrive[8][0];
    D'ou cela peut il venir?

    Merci

  7. #7
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    A la place de
    Utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo ('<pre>');
    print_r($TabArrive[8][0]);
    echo ('</pre>');
    Comme ca, tu vas voir que 'tête' a ton tableau, sa structure et son contenu complet.
    Ca devrait pas mal t'aider a t'y retrouver.

    --
    Rakken

  8. #8
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $TabArrive[8][0]=MaFonction($TabArrive[3][$val]);
    Tu nous as dit que MaFonction renvoie toujours un tableau, donc il est normal que tu aies un tableau.

    J'avoue ne pas comprendre ce que tu veux.
    Peut-être ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $TabArrive[8] = MaFonction($TabArrive[3][$val]);

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par jml94
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $TabArrive[8][0]=MaFonction($TabArrive[3][$val]);
    Tu nous as dit que MaFonction renvoie toujours un tableau, donc il est normal que tu aies un tableau.

    J'avoue ne pas comprendre ce que tu veux.
    Peut-être ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $TabArrive[8] = MaFonction($TabArrive[3][$val]);
    Oui c'est tout à fait normal. Mon souci est que lors de l'affichage j'ai "array" alors que je voudrais le contenu de [8][0] de mon tableau!

    @ Rakken: Je vais essayer ce que tu me dis! Merci

  10. #10
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Mon souci est que lors de l'affichage j'ai "array" alors que je voudrais le contenu de [8][0] de mon tableau!
    C'est ce que je voulais dire, mais je n'ai pas été clair.
    Lorsque tu fais MaFonction($TabArrive[3][$val]), tu recois un tableau.
    Et c'est ce même tableau que tu stockes dans [8][0]

    Donc tu affiches un tableau parce que tu as un tableau dedans.
    Ton problème est de correctement alimenter [8][0], pas de correctement l'afficher.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Ah j'ai compris!
    En fait je n'avais pas très bien saisi la notion de tableau, surtout au dela de 2D!
    En écrivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $TabArrive[8] = MaFonction($TabArrive[3][$val]);
    Ca va beaucoup mieux. C'est logique, le tableau retourné vas lui même remplir $TabArrive[8][0] $TabArrive[8][1] $TabArrive[8][2] etc... avec les valeurs.

    Par contre cadoual56 je pense que tu fais erreur:

    Citation Envoyé par cadoudal56
    Exactement OUI



    Avec count()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for ($i=0;$i=count($montableau);$i++)
    @+
    cadou
    Il ne faut pas récuperer chaque valeur avec une boucle comme je voulais le faire. (Voir post plus haut)

    Maintenant je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $TabArrive[8]=MaFonction($TabArrive[3][$val]);
     
     
    for ($a=0;$a<count(MaFonction($TabArrive[3][$val]));$a++)
    {
    echo $TabArrive[8][$a];
    }
    La boucle ne sert qu'a afficher!
    Si j'ai tout bien compris...

  12. #12
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Je pense que c'est ce qu'il voulait te dire, et le problème était un peu flou au début...

    Et si tu es débloqué, merci de ne pas oublier le flag "résolu".

    Tchô

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    En effet je pense qu'il doit savoir ce qu'il dit.

    En tout cas, merci à tous pour votre aide.

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

Discussions similaires

  1. [MySQL] Récupération table MySQL sous forme de tableau et l'utiliser comme une variable
    Par yanov dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 09/01/2014, 13h19
  2. récupérations des données sous forme de tableau en python
    Par Lyly87 dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 06/03/2013, 00h22
  3. [MySQL] Récupération table MySQL sous forme de tableau
    Par samuel4256 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/07/2010, 13h27
  4. Réponses: 3
    Dernier message: 19/01/2008, 10h20
  5. Réponses: 2
    Dernier message: 15/10/2006, 10h27

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