0
votes

Comment afficher des valeurs d'un tableau à la fois indexé et multidimensionnel?

Je sais comment afficher les valeurs d'un tableau indexé et d'une matrice multidimensionnelle séparément (à l'aide de pourach) mais je ne peux pas le faire fonctionner lorsqu'il s'agit d'une combinaison des deux.

im crée un menu de navigation à deux niveaux à l'aide d'un tableau structuré Comme ceci: p> xxx pré>

Lorsque j'utilise une paire de valeur de clé p> xxx pré>

et sans la paire de la valeur clé : P>

Home    Who We Are


4 commentaires

Pouvez-vous ajouter le code réel que vous utilisez plutôt que de dire lorsque j'utilise un pourache avec une paire à valeur clé, je reçois Cela facilitera plus que vos problèmes sont.


Vous faites une structure irrégulière. Peut-être que ce sera plus approprié $ pages = ['home' => ['' étiquette '=>' Home ',],' À propos '=> [' Étiquette '=> "Qui nous sommes", " '=> [...],],


@Nigelren a juste ajouté la partie des foresach.


@ Splash58 J'espérais simplement utiliser "la maison" s'il est possible au lieu de créer une étiquette "home" car je pouvais simplement le capitaliser via CSS ou utiliser UCwords ().


3 Réponses :


1
votes

Utilisation de la fonction IS_Array est un tour. Vous codez comme celui-ci xxx


1 commentaires

Ah bien! Vérifiez si c'est un tableau.Merci tellement!



0
votes
foreach($pages as $key =>$page){
if(!is_array($page)){
    echo $page;
}
}
if(is_array($pages['about'])){
foreach($pages['about'] as $about){
    if(!is_array($about)){
        echo " ".$about;
    }
}
}

if(is_array($pages['about']['children'])){
foreach ($pages['about']['children'] as $child){
    if(!is_array($child)){
        echo " ".$child;
    }
}
}

?>

0 commentaires

0
votes

Vous pouvez utiliser une fonction récursive pour boucler via ce tableau, utilisez ce code.

function loop($arr){

  foreach($arr as $val){
      if (is_array($val)) {
         loop($val);  
      }
      else {
       echo $val . '<br>';      
      }

  }

}

$pages = array(
    'home',
    'about' => array(
        'label' => 'Who We Are',
        'children' => array(
            'company',
            'team'
        ),
    ),
);

loop($pages);


0 commentaires