2016-04-01 9 views
2

wie durch ein 3-dimensionales Array des folgenden Typs gehen:php wie man durch ein 3-dimensionales Array geht?

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

mit diesem triying aber dies nicht für jedes arbeiten.

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

Ich brauche das 3 Textfeld des Arrays.

Antwort

3

Sie benötigen zwei foreach-Schleife zu verwenden, wie

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

Dank dieser Arbeit für mich. –

+0

Gern geschehen, Alter – Fabio

0

folgen Sie benötigen 2 foreach-Schleifen. Versuchen Sie:

$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]; 

Die Syntax, die Sie versuchen, ist nicht gültig. Aber die $value von der ersten Schleife ist die array wird in der zweiten Schleife verarbeitet.

0

Auch simplier, mit einer einzigen foreach Schleife:

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

Der Ausgang:

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