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 :

Array - extraire une valeur d'un array en tant que variable


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Array - extraire une valeur d'un array en tant que variable
    Bonjour,

    J'obtiens le retour suivant depuis ma BDD:
    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
    Array
    (
        [0] => Array
            (
                [nb] => 100
                [annee] => 2010
                [lieu] => abc
            )
    
        [1] => Array
            (
                [nb] => 120
                [annee] => 2011
                [lieu] => abc
            )
    
        [2] => Array
            (
                [nb] => 130
                [annee] => 2010
                [lieu] => xyz
            )
    
        [3] => Array
            (
                [nb] => 110
                [annee] => 2011
                [lieu] => xyz
            )
    
    )
    et j'aimerais bien sortir ce tableau dans 2 variables (ici dans mon cas sur le lieu) comme ceci :
    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
    [abc] => Array
        (
            [1] => Array
                (
                    [nb] => 100
                    [annee] => 2010
                )
            [2] => Array
                (
                    [nb] => 120
                    [annee] => 2011
                )
        )
    xyz => Array
        (
            [1] => Array
                (
                    [nb] => 130
                    [annee] => 2010
                )
            [2] => Array
                (
                    [nb] => 110
                    [annee] => 2011
                )
        )
    C'est à dire, avoir dans une variable $abc un array contenant le nb et annee (en rapport avec abc) ainsi que la même chose pour la variable $xyz. Ici je n'ai que 2 variables (pour l'exemple) mais depuis ma BDD je récupère 5 leiu différents (donc j'aimerais au final avoir 5 variables contenant les valeurs correspondantes).

    Comment pourrais-je faire simplement ? J'ai essayé de regarder du côté des fonctions prédéfinies mais j'ai pas trouver ce que je voulais (j'ai peut être passé un peu trop vite ??).

    Merci en tout cas pour votre aide

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 888
    Points : 6 632
    Points
    6 632
    Par défaut
    Tu peux faire ça (PHP 5.4 minimum):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    foreach ($myarray as $item) {
        $lieu = array_pop($item);
        ${$lieu}[] =$item;
    }
     
    print_r($abc);
    print_r($xyz);
    Maintenant, je ne sais pas ce que tu comptes faire de tes variables ainsi générées, mais à mon avis il serait bien plus simple de manipuler un tableau associatif dont les clefs sont les lieux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $newArray = array();
    foreach ($myarray as $item) {
        $newArray[array_pop($item)][] = $item;
    }
     
    print_r($newArray);

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Mille mercis CosmoKnacki, la 2ème version me convient parfaitement.

    Sujet résolu

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/05/2010, 10h48
  2. Réponses: 1
    Dernier message: 24/02/2009, 03h25
  3. garder les valeurs d'un array pour une pagination
    Par berti dans le forum Langage
    Réponses: 4
    Dernier message: 08/07/2008, 19h04
  4. insérer une valeur dans un array
    Par Sh4dow49 dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2008, 17h32
  5. Réponses: 5
    Dernier message: 18/11/2005, 22h11

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