public function buildTable($class,$mainarray,$cols_number, $fixed = true){
$res="<table class="$class">";
$rows=ceil(sizeof($mainarray)/$cols_number);
$c=0;
$width=round(100/$cols_number);
for ($i=0;$i<$rows;++$i){
$res.="<tr>";
for ($j=0;$j<$cols_number;++$j){
if ($i==0){$add=" style=\"width: ".$width."%;\"";}else{$add="";}
if ( !$fixed ) $add = "";
if (isset($mainarray[$c])){
$res.="<td$add>".$mainarray[$c]."</td>";
}
else{
$res.="<td$add> </td>";
}
++$c;
}
$res.="</tr>";
}
$res.="</table>";
return $res;
}В качестве входных параметров имеет список переменных: $class - должна содержать имя css класса, которое будет присвоено таблице, $mainarray - массив исходных данных (частый пример - набор изображение ), $cols_number - количество столбцов, $fixed - указывает нужно ли делать столбцы фиксированной ширины, если true, тогда столбцам будет указана ширина в процентах.
Функция работает элементарно - сначала находится количество строк в результатирующей таблице, затем производится проход по массиву исходных данных сначала по строкам, затем по столбцам, ну и формируется заветный код html таблицы.
Подобные функции полезно применять, когда есть необходимость многократного построения таблиц, в единичных случаях, ее применение наврядли будет уместным.