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ération d'un array dans un autre array


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2008
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 49
    Points : 37
    Points
    37
    Par défaut Récupération d'un array dans un autre array
    Bonjour.

    J'ai un petit problème avec un menu que j'essaye de construire via des tableaux. En gros voici le code mon tableau :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    array(
            array("link1.1" => "label 1.1",
                  "link1.2" => "label 1.2",
                  "link1.3" => "label 1.3"
            ),
            array("link2.1" => "label 2.1",
                  "link2.2" => "label 2.2",
                  "link2.3" => "label 2.3"
            ));

    En gros ce que je souhaite faire c'est réaliser une structure comme cela à partir de mon tableau:
    Code html : 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
    <ul>
        <li>
            <a href="link1.1">label 1.1</a>
            <ul>
                <li><a href="link1.2">label 1.2<a></li>
                <li><a href="link1.3">label 1.3<a></li>
            </ul>
        </li>
        <li>
            <a href="link2.1">label 2.1</a>
            <ul>
                <li><a href="link2.2">label 2.2<a></li>
                <li><a href="link2.3">label 2.3<a></li>
            </ul>
        </li>
    </ul>

    Le problème c'est que ce lorsque j'effectue ce code là :
    Code phtml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        <ul>
        <?php foreach ($this->submenu as $submenucat) : ?>
            <li>
                <?php echo var_dump($submenucat); ?>
            </li>
        <?php endforeach; ?>
        </ul>

    J'ai ce code là qui généré, bref en gros j'ai l'impression qu'il ne me récupère pas mes array complètement...
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <ul>
        <li> string(22) "Liste des utilisateurs" </li>
        <li> string(17) "Listes des rôles" </li>
    </ul>

    Quelqu'un voit-il ou est mon problème ?
    Merci d'avance

  2. #2
    Futur Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 8
    Points
    8
    Par défaut Récupération d'un array dans un autre array
    Salut Slake13
    Pour repondre ata question, ma question: ton menu aura pas plus de 2 niveaux, comme par ex 1.3 et non pas 1.3.1?
    Si il peut avoir plus de 2 niveaux, alors tu pourras songer aux fonctions recursives.
    Si il ne peut avoir que deux niveaux, il faut noter que tu as array of arrays. Donc il te faut deux foreach, comme dans l'exemple (simple ) ci-dessous.

    <?php
    $menu = array(
    array("link1.1" => "label 1.1",
    "link1.2" => "label 1.2",
    "link1.3" => "label 1.3"
    ),
    array("link2.1" => "label 2.1",
    "link2.2" => "label 2.2",
    "link2.3" => "label 2.3"
    ));

    echo "<ul>";
    foreach ($menu as $key => $submenu)
    {

    echo "<li> $key sub menu ";
    echo "<ul>";
    foreach($submenu as $link=>$label)
    {
    echo "<li> <a href='" . $link ."'>" . $label . "</a></li>";
    }
    echo "</ul>";
    echo "</li>";

    }
    echo "</ul>";
    ?>
    Mais ici aussi tu n'auras le resultat attendu. Le titre des submenus n'est pas un link. Tu ne l'as meme pas precise. Pour preciser les titres des submenus tu pourras changer ton array comme suit:
    $menu = array(
    "titre 1" => array("link1.1" => "label 1.1",
    "link1.2" => "label 1.2",
    "link1.3" => "label 1.3"
    ),
    "titre 2" => array("link2.1" => "label 2.1",
    "link2.2" => "label 2.2",
    "link2.3" => "label 2.3"
    )
    );

    bonne chance!

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/12/2013, 21h00
  2. récupération d'un socket dans un autre formulaire
    Par dark-skywalker dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/03/2011, 22h04
  3. Récupération de plusieurs String dans un autre String
    Par ghosty177 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 02/03/2011, 15h24
  4. Numpy : copier un array dans un autre array
    Par jlg_47 dans le forum Calcul scientifique
    Réponses: 3
    Dernier message: 24/03/2010, 10h23
  5. [Tableaux] copier tout un array dans une autre variable
    Par XavierWRC dans le forum Langage
    Réponses: 3
    Dernier message: 06/01/2010, 17h07

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