如何将多维PHP数组转换为html表

时间:2019-05-04 11:45:35

标签: php html mysql arrays html-table

我正在尝试使用多维数组变量$array2来制作HTML表,该变量是一个查询(来自mysql数据库PHP查询,不是一个自制查询),如下所示;

Array
(
    [0] => Array
        (
            [0] => M2TYEE
            [1] => Jean
            [2] => Harvey
            [3] => London
            [4] => 0314686334
        )

    [1] => Array
        (
            [0] => E26YBE
            [1] => Tom
            [2] => Cruise
            [3] => New York
            [4] => 0635625735     
        )

)

我想让桌子看起来像这样



|ID     |FIRST NAME| LAST NAME |  CITY     | PHONE      |
________________________________________________________
|M2TYEE | Jean     |  Harvey   |  London   | 0314686334 |
--------------------------------------------------
|E26YBE | Tom      |  Cruise   |  New York | 0635625735 |

它们的数组最多可以增加到1000个值,因此有必要使用while / for循环。 任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

您可以将array_mergeforeach用于所需的输出

$arr = array_merge([ 0 => ['ID','FIRST NAME','LAST NAME','CITY','PHONE']],$arr);
$html = '<table border="1">';
foreach($arr as $row){
  $html .= '<tr>';
  foreach($row as $column){
    $html .= '<td>'.$column.'</td>';
  }
  $html .= '</tr>'; 
}
$html .= '</table>';
echo $html;

答案 1 :(得分:0)

由于内部数组的大小是固定的(全部都有4个字段),因此可以使用单循环,如下所示:

echo "<table>";
foreach($array2 as $index){
    echo "<tr>";
    echo "<td>".$index[0]."</td><td>".$index[1]."</td><td>".$index[2]."</td><td>".$index[3]."</td><td>".$index[4]."</td>";
    echo "</tr>";
}
echo "</table>";

另一种方法:

$result.="<table>";
foreach($array2 as $index){
    $result.="<tr>";
    $result.="<td>".$index[0]."</td><td>".$index[1]."</td><td>".$index[2]."</td><td>".$index[3]."</td><td>".$index[4]."</td>";
    $result.="</tr>";
}
$result.="</table>";
echo $resul;