Geração de tabela HTML usando dois loops aninhados em PHP

Vamos gerar nossa tabela usando dois loops aninhados:

php<?php
  echo '<table>';
  foreach ($arr as $row) {
    echo '<tr>';
    foreach ($row as $cell) {
      echo "<td>$cell</td>";
    }
    echo '</tr>';
  }
  echo '</table>';
?>

Esta forma é conveniente porque não é necessário escrever cada célula da tabela separadamente. No entanto, uma desvantagem dessa abordagem é a perda de controle.

No entanto, o controle pode ser recuperado usando condições, assim:

php<?php
  echo '<table>';
  foreach ($arr as $row) {
    echo '<tr>';
    foreach ($row as $key => $cell) {
      if ($key === 'salary') {
        echo "<td>$cell dollars</td>";
      } else {
        echo "<td>$cell</td>";
      }
    }
    echo '</tr>';
  }
  echo '</table>';
?>

Podemos simplificar nosso código da seguinte forma:

php<?php
  echo '<table>';
  foreach ($arr as $row) {
    echo '<tr>';
    foreach ($row as $key => $cell) {
      if ($key === 'salary') {
        $cell .= ' dollars';
      }
      
      echo "<td>$cell</td>";
    }
    echo '</tr>';
  }
  echo '</table>';
?>
Задание 1

Dado o seguinte array:

php<?php
  $products = [
    [
      'name'   => 'product1',
      'price'  => 100,
      'amount' => 5,
    ],
    [
      'name'   => 'product2',
      'price'  => 200,
      'amount' => 6,
    ],
    [
      'name'   => 'product3',
      'price'  => 300,
      'amount' => 7,
    ],
  ];
?>

Gere uma tabela HTML com ele.