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_push() tableaux multidimensionnels


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 47
    Par défaut array_push() tableaux multidimensionnels
    Bonjour

    aujourd'hui étude des tableaux

    dans ce cas tout se passe bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $tab = array(array('bleu1','bleu2'),array('vert1','vert2'),array('jaune1','jaune2'));
    array_push($tab,array('blanc1','blanc2'));
    echo'<pre>';
    print_r($tab);
    echo'</pre>';
    ?>

    Parcontre ne n'arrive pas à l'appliquer quand le tableau est associatif :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $tab = array('x1'=>array('bleu1','bleu2'),'x2'=>array('vert1','vert2'),'x3'=>array('jaune1','jaune2'));
    array_push($tab,'x0'=>array('blanc1','blanc2'));
    echo'<pre>';
    print_r($tab);
    echo'</pre>';
    echo $tab['x1'][0];
    print_r ($tab['x1']);
    ?>
    Une petite idée, un petit conseil...

  2. #2
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    La syntaxe d'un tableau associatif (ce qui signifie juste que les indices ne sont plus numériques et donc qu'il est plus lisible)


    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
     
    //ce tableau ne sera pas associatif, car c'est un tableau classique à indice
    $personnes=array();
    //celui-ci oui
    $personne1 = array(
        "nom" => "toto",
        "age" => 14
    );
    array_push($personnes,$personne1); 
    $personne2 = array(
        "nom" => "tata",
        "age" => 12
    ); 
    array_push($personnes,$personne2);  
     
    var_dump($personnes);
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Sinon, en tout associatif, ça serait cette syntaxe (imbrication de 2 tableaux associatifs). Je réalise seulement que c'est ce que tu voulais faire...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $couleurs=array('b'=>array('b1'=>'bleu1','b2'=>'bleu2'),'r'=>array('r1'=>'rouge1','r2'=>'rouge2'));
    echo '<pre>';
    print_r($couleurs);
    echo '</pre>';
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  4. #4
    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
    Par défaut
    beaucoup plus simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab['x0'] = array('blanc1','blanc2');
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 47
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab['x0'] = array('blanc1','blanc2');
    Ca marche mais moi je voulais apprendre a utiliser la fonction array_push()

    Ce qui me donne avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array_push($tab2,array('x0'=>array('blanc1','blanc2')));
    L'affichage suivant

    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
    Array
    (
        [x5] => Array
            (
                [0] => bleu3
                [1] => bleu2
            )
     
        [x2] => Array
            (
                [0] => vert1
                [1] => vert2
            )
     
        [x3] => Array
            (
                [0] => jaune1
                [1] => jaune2
            )
     
        [0] => Array
            (
                [x0] => Array
                    (
                        [0] => blanc1
                        [1] => blanc2
                    )
     
            )
    Je veux pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [0] => Array
    (
    [x0] => Array
    (
    [0] => blanc1
    [1] => blanc2
    )
    mais bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [x0] => Array
    (
    [0] => blanc1
    [1] => blanc2
    )
    Il n'est pas possible d'utiliser array_push dans un tableau NOMINATIF ?

  6. #6
    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
    Par défaut
    Cette fonction ne permet pas de nommer l’élément ajouté.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre actif
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 47
    Par défaut
    d'après ton explication j'ai essayé cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $tab2 = array('x5'=>array('bleu3','bleu2'),'x2'=>array('vert1','vert2'),'x3'=>array('jaune1','jaune2'));
    echo'<pre>';
    print_r($tab2);
    echo'</pre>';
    $insertab=array('x0'=>array('blanc1','blanc2'));
    array_push($tab2,$insertab);
    echo'<pre>';
    print_r($tab2);
    echo'</pre>';
    Mais cela ne le met pas au bon endroit.

    Je débute donc j'ai du mal a suivre le raisonnement même si cela semble évident pour un habitué...


    Nouvel essai PIRE lol

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $tab2 = array('x5'=>array('bleu3','bleu2'),'x2'=>array('vert1','vert2'),'x3'=>array('jaune1','jaune2'));
    echo'<pre>';
    print_r($tab2);
    echo'</pre>';
    $insertab=array('blanc1','blanc2');
    array_push($tab2['x0'],$insertab);
    echo'<pre>';
    print_r($tab2);
    echo'</pre>';

  8. #8
    Membre actif
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 47
    Par défaut
    si vous pouviez commenter mon code cela sera peut être plus simple pour que j'arrive a suivre...

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

Discussions similaires

  1. [MySQL] Problème délicat (tableaux multidimensionnels)
    Par setblue dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 24/07/2007, 21h46
  2. Problème de tableaux multidimensionnels
    Par progfou dans le forum C#
    Réponses: 3
    Dernier message: 09/03/2007, 10h23
  3. AIDE sur Tableaux multidimensionnels
    Par orj30754 dans le forum C
    Réponses: 4
    Dernier message: 07/11/2006, 12h31
  4. Réponses: 4
    Dernier message: 31/08/2006, 16h31
  5. Réponses: 5
    Dernier message: 24/12/2005, 15h40

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