prueba con esto:
Código PHP:
<?
$entrada = array("a", "b", "c", "d", "e","f","g","h","i","j","k");
$columnas = 5;
$regs = sizeof($entrada);
//proceso cada elemento
foreach($entrada as $k => $v){
//en este caso me da un valor de 0 al 4
$col = ($k % $columnas);
//numero de la última llave de la matriz
$max = $columnas - 1;
//cargo los datos para cada columna
$tds .= '<td>' . $v . '</td>';
//si es la última columna o si el numero de bucle es el último de la matriz
if($col == $max || $k == ($regs - 1))
{
//si no es la última columna lo completo con celdas vacías
if($col < $max)
{
for($i = $col; $i < $max; $i++)
{
$tds .= '<td> </td>';
}
}
//cargo las filas con las columnas
$rows .= '<tr>' . $tds . '</tr>';
//borro el contenido de las columnas
$tds = '';
}
}
//imprimo la tabla
echo '<table border="1">' . $rows . '</table>';
?>