2014-01-17 78 views
-1

我有一个数组,我想打印这个数组,但键值应该在第一次打印一次,然后总是打印数组值。如何打印多维数组?

array(
    array(
    'Name'=> 'Trixie', 
    'Color'=> 'Green', 
    'Element'=> 'Earth', 
    'Likes'=> 'Flowers' 
    ), 
    array(
    'Name'=> 'Tinkerbell', 
    'Element'=> 'Air', 
    'Likes'=> 'Singning', 
    'Color'=> 'Blue' 
    ), 
    array(
    'Element'=> 'Water', 
    'Likes'=> 'Dancing', 
    'Name'=> 'Blum', 
    'Color'=> 'Pink' 
    ), 
); 

,并希望这样的输出:

Name  Color Element Likes 
Trixie  Green Earth Flowers 
Tinkerbell Blue Air  Singing 
Blum  Pink Water Dancing 
+0

为什么不先排序键然后用简单的循环打印它们? – PRAISER

回答

1
<?php 

$yourarray = array(
    array(
    'Name'=> 'Trixie', 
    'Color'=> 'Green', 
    'Element'=> 'Earth', 
    'Likes'=> 'Flowers' 
    ), 
array(
    'Name'=> 'Tinkerbell', 
    'Element'=> 'Air', 
    'Likes'=> 'Singning', 
    'Color'=> 'Blue' 
    ), 
array(
    'Element'=> 'Water', 
    'Likes'=> 'Dancing', 
    'Name'=> 'Blum', 
    'Color'=> 'Pink' 
    ), 
); 



echo "<table>"; 

echo "<tr><td>Name</td><td>Color</td><td>Element</td><td>Likes</td></tr>"; 


foreach($yourarray as $value){ 
    echo "<tr>"; 
    echo "<td>".$value['Name']."</td><td>".$value['Color']."</td><td>".$value['Element']."</td><td>".$value['Likes']."</td>"; 
    echo "</tr>"; 
} 



echo "</table>"; 

?> 
+0

非常感谢好友......... –

2
$x = //the array 

//get the keys from the first item in the array and loop 
foreach (array_keys($x[0]) as $key) { 
    //echo each key 
    echo $key; 
} 

//loop the array 
foreach ($x as $arr) { 
    //loop each item of the sub array 
    foreach ($arr as $v) { 
    //echo item's value 
    echo $v; 
    } 
} 
+0

'TrixieGreeNEarthFlowersTinkerbellAirSingningBlueWaterdancingBlumPink'并不完全是OP想要的...... –

+0

感谢兄弟.............. –

+0

@MarcB哎呀,我应该花更多时间。 CarbonBasedLifeform的答案肯定更好。 – m59

1

尝试这样的: 现场演示:https://eval.in/90748

$arr = array(
    array(
     'Name'=> 'Trixie', 
     'Color'=> 'Green', 
     'Element'=> 'Earth', 
     'Likes'=> 'Flowers' 
    ), 
    array(
     'Name'=> 'Tinkerbell', 
     'Element'=> 'Air', 
     'Likes'=> 'Singning', 
     'Color'=> 'Blue' 
    ), 
    array(
     'Element'=> 'Water', 
     'Likes'=> 'Dancing', 
     'Name'=> 'Blum', 
     'Color'=> 'Pink' 
    ), 
); 
echo "Name Color Element Likes"."<br />"; 
foreach($arr as $ar){ 
    echo $ar['Name']." ".$ar['Color']." ".$ar['Element']." ".$ar['Likes']."<br />"; 
} 

OUTPUT:

Name Color Element Likes 
Trixie Green Earth Flowers 
Tinkerbell Blue Air Singning 
Blum Pink Water Dancing