Как преобразовать многомерный массив PHP в HTML-таблицу - PullRequest
0 голосов
/ 04 мая 2019

Я пытаюсь сделать таблицу HTML из переменной многомерного массива $array2, которая является запросом (из запроса PHP базы данных mysql, а не самодельным запросом) и выглядит следующим образом:

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 голосов
/ 04 мая 2019

, поскольку ваш внутренний массив фиксирован по размеру (все имеют 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;
0 голосов
/ 04 мая 2019

Вы можете использовать array_merge и foreach для желаемого выхода

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