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 valeur d'1 array key ou par index


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Octobre 2011
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 37
    Par défaut récupérer les valeur d'1 array key ou par index
    Bonjour

    J'essaye de récupérer les valeurs d'un array par cle ou index

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $user = array();
    $user['a'] = 'firstname';
    $user['b'] = 'lastname';
     
    echo '<br />user  = ' . $user[0];  
    echo '<br />user  = ' . $user['a'];
    Je ne recupere rien avec $user[0]

    bien sur je dois garder les cles 'a', 'b' ...

    comment puis je avoir ces valeur pas leur index (sans for each ou loop) ?

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2004
    Messages : 108
    Par défaut
    Bonjour,

    Si les clés de base ne sont pas numérique tu peux t'en sortir de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $newTab = array_values($tab);
    /*
     * $newTab contient maintenant les valeurs de ton tableau avec des clès numérique. Tu peux t'en servir maintenant
     */
    Ou alors tu y accède directement avec le array_values mais cela ferra une transformation à chaque appel d'une valeur avec clé numérique. Ce n'est pas franchement optimisé . echo array_values($tab)[0];

  3. #3
    Membre expérimenté
    Avatar de magicshark
    Homme Profil pro
    Dans une SS2I donc pas que JAVA
    Inscrit en
    Octobre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dans une SS2I donc pas que JAVA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 133
    Par défaut
    j'ai une solution moche mais qui dois fonctionner
    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
     
    <?Php
    $user = array();
    $user['a'] = 'firstname';
    $user['b'] = 'lastname';
     
    $assocArray = array();
     
    foreach($user as $key => $value){
      $assocArray[] = $key;
    }
     
    //Ensuite pour obtenir la valeur a l'index souhaité il suffira de faire
     
    echo '<br />user  = ' . $user[$assocArray[0]];  
    echo '<br />user  = ' . $user[$assocArray[1]];
    ?>

  4. #4
    Membre actif
    Inscrit en
    Octobre 2011
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 37
    Par défaut
    merci a vous deux

    Je n'arrive pas a croire que en php il n'y ait pas de solution normale pour obtenir l'index , comme en C#

  5. #5
    Membre expérimenté
    Avatar de magicshark
    Homme Profil pro
    Dans une SS2I donc pas que JAVA
    Inscrit en
    Octobre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dans une SS2I donc pas que JAVA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 133
    Par défaut
    en faite il existe une solution si tu parcours ton tableau avec des instruction comme dans le style de next (je sais plus exactement quoi)

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Le problème principal de ce que tu cherches, c'est que ce que tu considères comme un index peut aussi être une clé.
    Par exemple, avec ce genre de tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $tab = array(
      1 => 'chaussette',
      'cle' => 'valeur');
    Que devrait renvoyer $tab[1] ? "chaussette" par clé ou "valeur" par index ?
    D'où l'impossibilité de la notion d'index au sens où tu l'entends.

    Comme l'indique la doc, un tableau PHP relève davantage de la map que du tableau.
    Citation Envoyé par php.net
    Un tableau en PHP est en fait une carte ordonnée. Une carte est un type qui associe des valeurs en clés. Ce type est optimisé pour différentes utilisations ; il peut être considéré comme un tableau, une liste, une table de hashage, un dictionnaire, une collection, une pile, une file d'attente et probablement plus.
    http://fr2.php.net/manual/fr/language.types.array.php

    A part ça, pour simplifier le code de magicshark, il ya la fonction array_keys
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $user = array('a' => 'firstname', 'b' => 'lastname');
    $indexes = array_keys($user);
    echo $user[$indexes[0]];
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

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

Discussions similaires

  1. DBGrid récupérer les valeurs de l'enregistrement courant
    Par bob_sapp dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/09/2014, 07h56
  2. [MySQL] Récupérer les valeurs définies dans un champ ENUM
    Par Huntress dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 03/07/2010, 18h55
  3. Réponses: 2
    Dernier message: 11/01/2010, 12h39
  4. [FB] récupérer les valeurs pas défaut
    Par Emmanuel Lecoester dans le forum SQL
    Réponses: 1
    Dernier message: 05/01/2005, 14h37
  5. [Couleur] Récupérer les valeurs R,V,B et L,U,V ?
    Par M4v3rick dans le forum C++Builder
    Réponses: 4
    Dernier message: 25/01/2004, 03h28

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