在php中垂直填充表格

I'd like to fill a table vertically. For example one name on one row, the age on the second row alternately, and limit the table to 4 columns:

table

Is this possible with this kind of code?

Here is my Code:

<?php
$age = array("26","16","17","19","24","30");
$name = array("adam","andrew","tim","mike","don","eddy");
echo "<table border=1>";
for($i=0;$i<count($age);$i++)
{
    if ($i > 0 && $i % 4 == 0)
    {
        echo "</tr><tr>";
    }
    echo "<td>";
    echo $name[$i];
    echo "</td>";
    echo "<td>";
    echo $age[$i];
    echo "</td>";
}
echo "</tr>";
?>

Please try this. It is not the most elegant way but will give you an idea and maybe improve your answer. I will suggest you maybe use multi-dimensional array to store age and name together.

$age = array("26","16","17","19","24","30");
$name = array("adam","andrew","tim","mike","don","eddy");
$ageChunks  = array_chunk($age,  4); //divide age array into chunks of 4
$nameChunks = array_chunk($name, 4); //divide name array into chunks of 4

//print table data
function printData($td)
{
    echo "<td>&nbsp;".$td."&nbsp;<td>";
}

//print table row. Assumption here is $nameChunks and $ageChunks are same length.
function printRow($nameChunks, $ageChunks)
{
    foreach ($nameChunks as $key=>$val) {
        echo "<tr>";
        array_map("printData", $nameChunks[$key]);
        echo "</tr><tr>";
        array_map("printData", $ageChunks[$key]);
        echo "</tr>";
    }
}

//print table
function printTable($nameChunks, $ageChunks)
{
    echo "<table>";
    printRow($nameChunks, $ageChunks);
    echo "</table>";
}

printTable($nameChunks, $ageChunks);

you need to change condition if ($i > 0 && $i % 4 == 0) to if ($i > 0 && $i % 2 == 0) because you print 2 columns per iteration