首页 > 解决方案 > 如何显示索引和多维数组中的值?

问题描述

我知道如何分别显示索引数组和多维数组中的值(使用 foreach),但是当它是两者的组合时,我无法使其工作。

我使用如下结构的数组创建了一个两级导航菜单:

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

当我使用带有键值对的 foreach 时

foreach ($pages as $page => $value){
    echo $page; // output:    0  about
    echo $value; // output:    home  array
}

并且没有键值对:

foreach ($pages as $page){
    echo $page; // output:    home  array  array
}

我只想输出

Home    Who We Are

有人可以指出我正确的方向吗?

提前致谢!

标签: phparraysmultidimensional-array

解决方案


使用 is_array 函数是一个技巧。你这样编码

$pages = array(
    'home',
    'about' => array(
        'label' => 'Who We Are',
        'children' => array(
            'company',
            'team'
        ),
    ),
);
foreach($pages as $key=>$value){
    if(is_array($value)){
        echo $value["label"];
    }else{
        echo $value;
    }
}

推荐阅读