2015-04-06 108 views
0

我有一個數組,我試圖將信息輸出到一個寬度爲4個單元格的表格中。表格的格式很好,但我無法回顯數組信息。任何人都知道如何做到這一點?表格單元格的多維數組

陣列看起來是這樣的:

[1] => Array 
    ( 
     [photo_id] => 76 
     [photo_name] => 1284d830b198f21ee851334ab87140e1 
    ) 

[2] => Array 
    ( 
     [photo_id] => 75 
     [photo_name] => 6ef145dd3f52e807f3d7afb3810a2ef8 
    ) 

[3] => Array 
    ( 
     [photo_id] => 74 
     [photo_name] => f116f3a778d5e900a9e4f7b60c530b67 
    ) 

[4] => Array 
    ( 
     [photo_id] => 73 
     [photo_name] => 87b2091970c85254391f1245f1826604 
    ) 

[5] => Array 
    ( 
     [photo_id] => 72 
     [photo_name] => 549c75f04964d219974d4ceffa039e89 
    ) 

) 

PHP代碼:

echo "<table border=\"1\">\n"; 
for ($counter=0; $counter<$results; ) { 
    echo "<tr>\n"; 
    for ($colcount=0; $colcount<4 AND $counter<$results; $colcount++,$counter++) { 
     echo "<td>1</td>"; 
    } 
    if ($counter == $results) { 
     for ($extra = ($results % 4); $extra<4 AND $extra!=0; $extra++) { 

     echo "<td>0</td>"; 

     } 
    } 
    echo "\n</tr>\n"; 
} 
echo "</table>"; 
+0

在哪裏/什麼是你的陣列,在PHP? – chris85 2015-04-06 03:33:36

回答

0

我只看到三個細胞,但這裏是你如何能做到這一點。

<?php 
$test = array(1 => array('photo_id' => '76', 'photo_name' => '1284d830b198f21ee851334ab87140e1'), 
      '2' => array('photo_id' => '75', 'photo_name' => '6ef145dd3f52e807f3d7afb3810a2ef8'), 
      '3' => array('photo_id' => '74', 'photo_name' => 'f116f3a778d5e900a9e4f7b60c530b67'), 
      4 => array('photo_id' => '73', 'photo_name' => '1284d830b198f21ee851334ab87140e1'), 
      '5' => array('photo_id' => '72', 'photo_name' => '6ef145dd3f52e807f3d7afb3810a2ef8'), 
      '6' => array('photo_id' => '71', 'photo_name' => 'f116f3a778d5e900a9e4f7b60c530b67'), 
      7 => array('photo_id' => '70', 'photo_name' => '1284d830b198f21ee851334ab87140e1'), 
      '8' => array('photo_id' => '69', 'photo_name' => '6ef145dd3f52e807f3d7afb3810a2ef8'), 
      '9' => array('photo_id' => '68', 'photo_name' => 'f116f3a778d5e900a9e4f7b60c530b67') 
      ); 
echo '<table border="1">' . "\n"; 
echo '<tr><td>ID</td><td>PhotoId</td><td>Location/name</td></tr>' . "\n"; 
$count = 0; 
foreach($test as $id => $photoinfo) { 
    foreach($photoinfo as $key => $value) { 
     if ($count % 4 == 0 && !empty($pid)) { 
      echo '<tr>'; 
     } 
     if($key == 'photo_id') { 
      $pid = $value; 
     } 
     if ($key == 'photo_name') { 
      $name = $value; 
     } 
     if(!empty($pid) && !empty($name)) { 
      echo "<td>" . $pid . " " . $name . "</td>\n"; 
      $count++; 
      if ($count % 4 == 0) { 
       echo '</tr>'; 
      } 
      unset($name, $pid); 
     } 
    } 
} 
if ($count % 4 != 0) { 
    //we finished the table generation with less than 4 cells 
    while($count % 4 != 0) { 
     echo '<td>empty cell</td>'; 
     $count++; 
    } 
    echo '</tr>'; 
} 
echo "</table>\n"; 

輸出:

<table border="1"> 
<tr><td>ID</td><td>PhotoId</td><td>Location/name</td></tr> 
<tr><td>76 1284d830b198f21ee851334ab87140e1</td> 
<td>75 6ef145dd3f52e807f3d7afb3810a2ef8</td> 
<td>74 f116f3a778d5e900a9e4f7b60c530b67</td> 
<td>73 1284d830b198f21ee851334ab87140e1</td> 
</tr><tr><td>72 6ef145dd3f52e807f3d7afb3810a2ef8</td> 
<td>71 f116f3a778d5e900a9e4f7b60c530b67</td> 
<td>70 1284d830b198f21ee851334ab87140e1</td> 
<td>69 6ef145dd3f52e807f3d7afb3810a2ef8</td> 
</tr><tr><td>68 f116f3a778d5e900a9e4f7b60c530b67</td> 
<td>empty cell</td><td>empty cell</td><td>empty cell</td></tr></table> 
+0

我需要把這個陣列信息爲例如這將是在第一小區中的每個小區[1] =>數組 ( [photo_id] => 76 [PHOTO_NAME] => 1284d830b198f21ee851334ab87140e1 ) – ThomasB 2015-04-06 04:05:25

+0

希望每個部分那在一個牢房裏,不是嗎? – chris85 2015-04-06 04:07:13

+0

例如我需要在1單元格中的photo_id和照片名稱,比下一個單元格將是數組的下一部分 – ThomasB 2015-04-06 04:09:57