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 :

Ajouter un élément dans un tableau multi


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 485
    Points : 875
    Points
    875
    Par défaut Ajouter un élément dans un tableau multi
    Bonjour à tous,

    j'ai encore un petit souci avec mes tableaux (c'est ma bête noire :-/)

    J'ai un tableau qui me renvoie ca :

    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
    Array
    (
        [0] => Array
            (
                [name] => Europe
                [alias] => 
                [indent] => 1
            )
        [1] => Array
            (
                [name] => West
                [alias] => 
                [indent] => 2
            )
    )
    j'ai envie de rajouter un élément dans chaque sous tableau, pour avoir au final 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
    Array
    (
        [0] => Array
            (
                [name] => Europe
                [alias] => 
                [indent] => 1
                [parent]=hello
            )
        [1] => Array
            (
                [name] => West
                [alias] => 
                [indent] => 2
                [parent]=hello
            )
    )
    J'ai essayé ca (le tableau de base s'appelle $elements

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach ($elements as $element)
    {
    	$element['parent']='hello';
    }
    mais ca ne fonctionne pas

    une idée ? merci d'avance et désolé pour la question super basique

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu veux modifier directement, il faut utiliser un passage par référence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($elements as &$element) {
    	$element['parent']='hello';
    }

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach ($elements as $key => $element)
    {
    	$elements[$key]['parent']='hello';
    }

  4. #4
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 485
    Points : 875
    Points
    875
    Par défaut
    hello sabotage (tu portes mal ton nom :-)) et m4riachi,

    merci beaucoup, vos deux solutions fonctionnent parfaitement. puis-je abuser et vous demander une explication:
    qu'est-ce qu'un passage par référence ? est-ce bien l'histoire de la variable dont on réutilise la valeur modifiée et non la valeur initiale ou un truc du style (j'ai quelques trous de mémoire)

    merci encore !

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En résumé :
    Dans le cas normal, $element est une nouvelle variable independante reprenant la valeur contenue dans le tableau $elements.
    Dans le cas par référence, $element pointe directement sur $elements.

    Un très bon article qui explique tout sur ces mécanismes :
    http://julien-pauli.developpez.com/t...als/variables/

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

Discussions similaires

  1. Ajouter des éléments dans un tableau
    Par Anduriel dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/07/2012, 10h55
  2. ajout d'élément dans un tableau sous IE
    Par junta13 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/07/2009, 17h45
  3. Ajout des éléments dans un tableau de structure
    Par rphenix dans le forum WinDev
    Réponses: 10
    Dernier message: 22/06/2007, 11h34
  4. [Tableaux] ajout d'éléments dans un tableau
    Par maysa dans le forum Langage
    Réponses: 7
    Dernier message: 06/11/2006, 10h09
  5. [Tableaux] ajout d'élément dans un tableau
    Par maximenet dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2006, 20h24

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