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 :

quelle syntaxe pour atteindre le sous-sous-élement d'un tableau composé ?


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 388
    Points : 859
    Points
    859
    Par défaut quelle syntaxe pour atteindre le sous-sous-élement d'un tableau composé ?
    bonjour,
    peut-être je suis mal réveillé ou je ne vois pas ma coquille, mais je n'arrive pas à atteindre un élément d'un sous-tableau.

    ma variable $arg fournie par ma fonction function Email_Sending($email, &$args) est un contenu de tableaux qui , dumpée par un var_dump donne ça :

    array(2) { ["rsold"]=> &array(30) { [0]=> string(1) "1" ["cal_id"]=> string(1) "1" [1]=> string(1) "1" ["cal_visible"]=> string(1) "1" [2]=> string(19) "2020-01-09 10:58:08" ["cal_date_crea"]=> string(19) "2020-01-09 10:58:08" [3]=> string(19) "2021-03-30 11:04:17" ["cal_date_mod"]=> string(19) "2021-03-30 11:04:17" [4]=> string(1) "1" ["cal_user_crea"]=> string(1) "1" [5]=> string(1) "1" ["cal_user_mod"]=> string(1) "1" [6]=> string(10) "Noël 2019" ["cal_lib"]=> string(10) "Noël 2019" [7]=> string(5) "xmas1" ["cal_description"]=> string(5) "xmas1" [8]=> string(10) "2019-12-25" ["cal_date_debut"]=> string(10) "2019-12-25" [9]=> string(10) "2019-12-25" ["cal_date_fin"]=> string(10) "2019-12-25" [10]=> string(1) "1" ["cal_ferie"]=> string(1) "1" [11]=> string(1) "1" ["cal_fermeture_etablissement"]=> string(1) "1" [12]=> string(1) "1" ["cal_fermeture_scolaire"]=> string(1) "1" [13]=> string(1) "1" ["cal_timeline"]=> string(1) "1" [14]=> string(1) "6" ["cal_cat_id"]=> string(1) "6" } ["rsnew"]=> &array(12) { ["cal_lib"]=> string(10) "Noël 2019" ["cal_description"]=> string(5) "xmas1" ["cal_date_debut"]=> string(10) "2019-12-25" ["cal_date_fin"]=> string(10) "2019-12-25" ["cal_ferie"]=> int(1) ["cal_fermeture_etablissement"]=> int(1) ["cal_fermeture_scolaire"]=> int(1) ["cal_timeline"]=> int(1) ["cal_cat_id"]=> int(6) ["cal_visible"]=> int(1) ["cal_date_mod"]=> string(19) "2021-03-30 11:04:57" ["cal_user_mod"]=> string(1) "1" } }
    je cherche à obtenir l'élément en gras " xmas1" qui est la valeur de l'attribut cal_description du tableau composé rsnew et ce tableau composé est le deuxième dans la variable (donc [1] en indice).

    j'ai tenté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $args[1][$rsnew['cal_description']];
    mais ça marche pas

    ni ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $rsnew=$args[1];
    echo $rsnew['cal_description'];
    Quelle coquille je manque ?

    ps : je suis en php7.3

  2. #2
    Membre éprouvé
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 56
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Points : 931
    Points
    931
    Par défaut
    D'après le manuel, ça ne serait pas plutôt $args["rsnew"]["cal_description"] ?
    Les problèmes sont des opportunités en vêtements de travail. Henry H. Kaiser
    Il n'est pas de problème dont une absence de solution ne finisse par venir à bout. Henri Queuille

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 372
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Paraffine a raison
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 388
    Points : 859
    Points
    859
    Par défaut
    oui la solution de paraffine fonctionne, je viens d'essayer.
    même si je me mélange les pinceaux entre les différentes syntaxes et langages, je pensais que voir "array(2) { ["rsold"]=>"
    me permettait d'écrire une écriture avec un index entre crochets et parenthèse pour accéder à la donnée attribut.

  5. #5
    Membre éprouvé
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 56
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Points : 931
    Points
    931
    Par défaut
    Le "premier niveau" de tableau est associatif, avec une clé texte. Par contre je crois qu'on peut utiliser indifféremment $args["rsold"][0] ou $args["rsold"]["cal_id"] parce que les informations dans rsold sont en double, avec une clé numérique séquentielle et avec une clé texte.
    Il y a une discussion longue comme un jour sans pain ici sur une fonction PHP pour identifier les arrays "séquentiels".
    Les problèmes sont des opportunités en vêtements de travail. Henry H. Kaiser
    Il n'est pas de problème dont une absence de solution ne finisse par venir à bout. Henri Queuille

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

Discussions similaires

  1. [AC-2010] Syntaxe pour requery de sous-formulaires placés dans un onglet
    Par Maribo dans le forum VBA Access
    Réponses: 6
    Dernier message: 26/07/2018, 20h57
  2. Quelles techniques pour faire ce sous-menu ?
    Par Valadone dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 25/11/2015, 13h08
  3. [97] Syntaxe pour déverrouiller un sous-formulaire
    Par totojordi dans le forum IHM
    Réponses: 2
    Dernier message: 12/06/2008, 11h41
  4. Quelle syntaxe pour Pivot/Unpivot
    Par Immobilis dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 11/04/2008, 21h15
  5. Réponses: 8
    Dernier message: 02/05/2006, 16h07

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