php如何遍历三维数组


php how to walking through a 3-dimensional array?

类似于遍历以下类型的三维数组:

$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个文本字段。

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

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

您需要两个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

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

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

输出:

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