php如何走过一个三维数组?

时间:2016-04-01 21:21:17

标签: php arrays

喜欢走过以下类型的三维数组:

$Marray = array(
        #string                 string          string
        'key1'      => array(   'value1'    =>  'title1'),
        'key2'      => array(   'value2'    =>  'title2')
    );

使用此方法进行欺骗,但不为每个人工作。

foreach($Marray as $key => $value => $title){
    echo $key." => ".$value." => ".$title."<br>";
}

我需要获取数组的3个文本字段。

3 个答案:

答案 0 :(得分:2)

您需要使用两个foreach循环,如下所示

foreach($Marray as $key => $val){
    foreach($val as $value => $title){
        echo $key." => ".$value." => ".$title."<br>";
    }
}

答案 1 :(得分:0)

你需要2个foreach循环。尝试:

$output = [];
foreach($Marray as $key => $value){
    foreach ( $value as $subKey => $subValue ){
        $output[] = [$key, $subKey, $subValue];
    } 
}
var_dump($output);
echo $output[0];
echo $output[1];
echo $output[2];

您尝试的语法无效。但是第一个循环中的$value是在第二个循环中处理的array

答案 2 :(得分:0)

更简单,只有一个foreach循环:

foreach($Marray as $key => $val){    
    echo $key." => ". key($val) ." => ". current($val) ."<br>";
}

输出:

key1 => value1 => title1
key2 => value2 => title2