使用php foreach从嵌套数组中选择特定元素

时间:2016-08-21 19:57:01

标签: php arrays foreach

假设我有这个嵌套数组:

0 : page
1 : section
2 : side
3 : Array
   0 : Array
     0 : url1
     1 : url2
     2 : url3
   1 : Array
     0 : url4
     1 : url5
     2 : url6
   2 : Array
     0 : url7
     1 : url8
     2 : url9

我想foreach(php)从索引[1]

的每个数组元素中获取
 1 : url2
 1 : url5
 1 : url8

这是我的输出:

.mdl-grid

但是我想同时从每个数组中选择特定的元素:

height:100%

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您可以在单独的数组中收集条目,然后迭代它。根据您的代码,如下:

<?php
$entriesWithOne = [];
foreach($arr as $key => $value){
    echo $key." : ".$value."\n";

    foreach($value as $key => $value){
        echo "   ". $key." : ".$value."\n";

        foreach($value as $key => $value){
            echo "     ". $key." : ".$value."\n";
            if ($key == 1) {
                $entriesWithOne[] = $value;
            }
        }
    }
}

foreach($entriesWithOne as $url) {
    echo '1 : ' . $url . "\n";
}

请注意,我只在本例中最内层循环中进行检查(并添加到数组中),因为它满足您的要求。但是,如果你也喜欢从其他循环中收集,你必须在那里做类似的事情。