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 :

recupérer les valeurs d'un array multiple


Sujet :

Langage PHP

  1. #1
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    Par défaut recupérer les valeurs d'un array multiple
    Salut

    Après de multiples essais, lecture de tutos, recherche d'exemples dans se forum, je n'arrive pas à récupérer 2 des champs dans une boucle foreach.
    Mon tableau $ListQRZ (suite à une extraction conditionnelles d'un tableau 1800 lignes d'enregistrements).
    var_dump($ListQRZ) donne (ici j'ai ajouté un saut de ligne pour voir les 3 groupeS
    array(3) { [840]=> array(10) { ["indicatif"]=> string(5) "F4ZZD" ["nomprenom"]=> string(14) "Major patrice" ["adresse"]=> string(23) "16 rue des pommes" ["cp"]=> int(74130) ["ville"]=> string(10) "Pars" ["pays"]=> string(6) "France" ["dateInf"]=> string(10) "01/01/2099" ["infos"]=> string(64) "Me joindre par Email" ["position"]=> array(3) { ["lat"]=> float(47.4651301) ["lng"]=> float(7.4441083) ["alt"]=> int(462) } ["affichage"]=> string(1) "o" }
    [968]=> array(10) { ["indicatif"]=> string(5) "F2ABC" ["nomprenom"]=> string(13) "Durendal Jacques" ["adresse"]=> string(29) "38 Rue Des ruchers" ["cp"]=> int(74130) ["ville"]=> string(10) "LouHan" ["pays"]=> string(6) "France" ["dateInf"]=> string(10) "20/11/2022" ["infos"]=> string(0) "" ["position"]=> array(3) { ["lat"]=> float(46.0764154) ["lng"]=> float(6.2777968) ["alt"]=> int(943) } ["affichage"]=> string(1) "o" }
    [978]=> array(10) { ["indicatif"]=> string(5) "F3XYZ" ["nomprenom"]=> string(11) "NORO Loîc" ["adresse"]=> string(17) "199 Avenue du chateau" ["cp"]=> int(77213) ["ville"]=> string(10) "Carcasonne" ["pays"]=> string(6) "France" ["dateInf"]=> string(10) "23/01/2023" ["infos"]=> string(0) "" ["position"]=> array(3) { ["lat"]=> float(45.0626923) ["lng"]=> float(6.9431646) ["alt"]=> int(1000) } ["affichage"]=> string(1) "o" } }
    Mes derniers essais, qui bien sûr ne fonctionne pas (j'en ai fait beaucoup plus mais supprimer les plus anciens)
    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
    				$QRZList = "";
    				$Idx;
    				for ($i = 0, $iMax = count($ListQRZ); $i < $iMax; $i++) {
    					$Idx=current($ListQRZ);
    					echo $Idx;
    					$QRZList = $ListQRZ[$Idx]['indicatif'];
    					if ($i < count($ListQRZ) - 1) {
    						$QRZList .= ",";
    					}
     
     
    				foreach($ListQRZ as $qrz){
    					//pour chaque élément de $adresse crée la variable $element
    					foreach($qrz as $element){
    						//écris le $element sur la même ligne avec un tiret et des espaces
    						$QRZList += $element.['indicatif'];
    					}
    				}
    				echo "<br><br>" . var_dump($QRZList);
    			}
    J'ai donc besoin de créer un tableau, $QRZList tout simple qui se présenterait comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $QRZList= array("F4HOY", "F4JQM", "F4JVM");
    Merci de votre lecture et de l'aide que vous pourrez m'apporter.

    Motif de l’édit: modification des données pouvant devenir sensible.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  2. #2
    Nb
    Nb est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 148
    Points : 417
    Points
    417
    Par défaut
    Salut,
    j'espere que les données que tu viens de publier publiquement sont factices....

    Au delà de ca je ne comprends pas trop ton post car les donnees que tu manipules et le bout de code ne semblent pas du tout aller ensemble. De même les commentaires ne correspondent pas au code qu'ils commentent...
    De ce que je vois depuis les données que tu as fournies et ce que tu sembles attendre, un simple foreach semble suffire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $QRZList = [];
    foreach($ListQRZ as $qrz) {
        $QRZList[] = $qrz['indicatif'];
    }
    $QRZList = implode(', ', $QRZList);

  3. #3
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    Par défaut
    Salut
    Citation Envoyé par Nb Voir le message
    Salut,
    j'espere que les données que tu viens de publier publiquement sont factices....
    Non, elles sont réelles, accessible déjà depuis plusieurs années ,ICI par contre de temps en temps je reçois un mail me demandant de ne pas figurer dans mon programme, donc je vais modifier mon premier postage.

    En tous cas merci Nb, le code fournit me donne satisfaction, j'ai bien la liste des indicatifs dans la variable tableau $QRZListMerci
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    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 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Même pas besoin de faire une boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $indicatifs = array_column($ListQRZ, 'indicatif')
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  5. #5
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    Par défaut
    Salut
    Citation Envoyé par CosmoKnacki Voir le message
    Même pas besoin ...
    Merci, je garde cette syntaxe sous le coude, mais je doit remplir la liste d'indicatif suivant le CP (plutôt le département).
    Ce qui est devenu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    				foreach($ListQRZ as $qrz) {
    					if (substr($qrz['cp'],0,2)==$QuelDep){
    						$QRZList[] = $qrz['indicatif'];
    					}
    				}
    $QuelDep étant un des paramètres de la requête $QuelDep = $_REQUEST["queldep"];
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 222
    Points
    8 222
    Billets dans le blog
    17
    Par défaut
    Dans ce cas, pour continuer sur les figures de style php-golf, tu peux appliquer un array_filter() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $r = array_column(
        array_filter($ListQRZ, fn ($e) => str_starts_with($e['cp'], $QuelDep)),
        'indicatif'
    );
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    Par défaut
    Salut Séb
    Ben j'en ai encor bien des choses à réapprendre dans le langage PHP, merci, je vais approfondir avec ses nouvelles (pour moi) syntaxes/fonctions.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/08/2008, 16h20
  2. Recupérer les valeurs d'un select multiple
    Par MANU_2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/02/2008, 11h49
  3. Réponses: 9
    Dernier message: 28/06/2006, 11h11
  4. [JSP] Récupérer les valeurs d'un SELECT multiple
    Par ran_hery dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 15/05/2006, 15h56
  5. Récupérer les valeurs d'un <select> multiple
    Par vg33 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/10/2005, 11h38

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