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> Lorsque j'utilise une paire de valeur de clé p> et sans la paire de la valeur clé : P> Home Who We Are
3 Réponses :
Utilisation de la fonction IS_Array est un tour. Vous codez comme celui-ci
Ah bien! Vérifiez si c'est un tableau.Merci tellement!
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;
}
}
}
?>
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);
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 i> 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", " '=> [...],], code>@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 ().