簡體   English   中英

HTML表中的Echo多維數組

[英]Echo multidimensional array in a html table

我有一個具有相同值的多維數組,像這樣,

[documents] => Array
(
    [0] => Array
            (
                [doc_id] => 3
                [doc_type] => driving_licence                   
                [expiry_date] => 2015-11-26
                [added_date] => 2015-11-16
            )

    [1] => Array
            (
                [doc_id] => 3
                [doc_type] => driving_licence
                [expiry_date] => 2015-11-26
                [added_date] => 2015-11-16
            )

)

所以現在我需要用單個<tr>在html表中回顯此數組。

這是我嘗試的方法:

foreach ($userData as $key => $value) {
    $i=0; 
    foreach ($value['documents'] as $k => $v) {
        $i++; 
        $html  = "<tr>\n"; 
        $html .= " <td class='center'>{$i}</td>";
        $html .= " <td>{$v['doc_type']}</td>";
        $html .= " <td>{$v['expiry_date']}</td>";
        $html .= " <td>{$v['added_date']}</td>";
        $html .= "</tr>\n"; 

        echo $html; 
    }
}

但是其重復表<tr>具有相同的值。

誰能告訴我如何避免這種情況? 謝謝。

根據要求 ,這是您的示例。

$userData = $input = array_map("unserialize", array_unique(array_map("serialize", $userData)));

foreach ($userData as $key => $value) {
    $i=0; 
    foreach ($value['documents'] as $k => $v) {
        $i++; 
        $html  = "<tr>\n"; 
        $html .= " <td class='center'>{$i}</td>";
        $html .= " <td>{$v['doc_type']}</td>";
        $html .= " <td>{$v['expiry_date']}</td>";
        $html .= " <td>{$v['added_date']}</td>";
        $html .= "</tr>\n"; 

        echo $html; 
    }
}

這將為您提供帶有1個 <tr>行的表。

這就是我將要做的事情的方式:

 $movies = array 
   (
      array('Office Space' , 'Comedy' , 'Mike Judge' ),
      array('Matrix' , 'Action' , 'Andy / Larry Wachowski' ),
      array('Lost In Translation' , 'Comedy / Drama' , 'Sofia Coppola' ),
      array('A Beautiful Mind' , 'Drama' , 'Ron Howard' ),
      array('Napoleon Dynamite' , 'Comedy' , 'Jared Hess' )
   );

   echo "<table border=\\"1\\">";
   echo "<tr><th>Movies</th><th>Genre</th><th>Director</th></tr>";
   for ( $row = 0; $row < count($movies); $row++ )
   {
      echo "<tr><td>";
      for ( $column = 0; $column < count($movies); $column++ )
      {
         echo $movies[$row][$column] ;
      }
      echo "<td></tr>";
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM