Are there alternative methods to using arrays in PHP for generating tables with customizable columns and content?

Using arrays in PHP for generating tables with customizable columns and content can be cumbersome and may not be the most efficient method. An alternative approach is to use objects or classes to represent the table structure, columns, and data. This allows for more flexibility and easier customization of the table layout and content.

class Table {
    private $columns = [];
    private $data = [];

    public function addColumn($name) {
        $this->columns[] = $name;
    }

    public function addRow($rowData) {
        $this->data[] = $rowData;
    }

    public function generateTable() {
        echo '<table>';
        echo '<tr>';
        foreach ($this->columns as $column) {
            echo '<th>' . $column . '</th>';
        }
        echo '</tr>';
        foreach ($this->data as $row) {
            echo '<tr>';
            foreach ($row as $cell) {
                echo '<td>' . $cell . '</td>';
            }
            echo '</tr>';
        }
        echo '</table>';
    }
}

$table = new Table();
$table->addColumn('Name');
$table->addColumn('Age');
$table->addRow(['John', 25]);
$table->addRow(['Jane', 30]);
$table->generateTable();