Yes i figured it out
After Hoping for a response and knowing i wouldnt get one and after searching the net for hours for some solution and asking on mirc with no response I decided to go it alone.
I will post the code in hopes that it could save someone else the crap i went through. It might not be the best way but it seems to work.
function buildColumnArray($array, $columns) {
$itemspercol = ceil(count($array)/$columns);
//BREAK UP THE ARRAY INTO EQUAL ARRAYS TO MATCH THE COLUMNS NEEDED
$chunked = array_chunk($array, $itemspercol);
//Build the string of items to map to a row set
for($i=0;$i<count($chunked);$i++){
if($i>0) {
$sep = ", ";
}
$mapstr .= $sep."\$chunked[".$i."]";
}
$mapstr = "\$d = array_map(null, ".$mapstr.");";
eval($mapstr);
//Reset the seperator
$sep = "";
for($i=0;$i<count($d);$i++){
if($i>0) {
$sep = ", ";
}
$mergestr .= $sep."\$d[".$i."]";
}
//Build the string to do the merge of the newly constructed arrays
$mergestr = "\$merged = array_merge(".$mergestr.");";
eval($mergestr);
//Create the new array without any empty items
foreach($merged as $key => $value ) {
if($value!="") {
$newarray[] = $value;
}
}
return $newarray;
}
THEN to get the Trs in I used
$newarray = buildColumnArray($bday, $colimit);
for($i=0;$i<count($newarray);$i++){
$newarray[$i]['tr'] .= "";
if ($i%$colimit == 0) {
if ($i != 0) {
$newarray[$i]['tr'] .= "</tr><tr>\n";
}
}
}
Hope this helps.