Also. Die Tabelle muss logischerweise von oben nach unten erstellt werden, d.h. wir müssen die daten in dieser reihenfolge auslesen:
a j b k c l ....
Das ist durch den aufbau von html-code vorgegeben.
Ich gehe mal davon aus, dass deine keys einfach bei 0 beginnend immer um eins größer werden, was der fall ist, falls du diese nicht extra selbst definierst.
Als erstes solltest du wissen, wieviele Namen du hast. Das bekommst du mit count() heraus.
Dann teilst du diese Zahl durch 2 und rundest gegebenfalls auf mit ceil(). Diese Zahl ergibt gleichzeitig die anzahl der zeilen als auch den versatz der keys von a und j bzw b und k usw.
Nun erstellst du eine for schleife, die als startbedingung $i = 0 hat, als abbruchbedingung $i<$eben_errechnete_zahl und bei jedem durchgang $i++ ausführt. In dieser Schleife gibst du zuerst "<tr><td>" aus, dann $array[$i], dann "</td><td>". Nun
prüfst du mit isset() ob $array[$i+$eben_errechnete_zahl] existiert, was nicht der fall sein muss, falls du eine ungerade anzahl an namen hast. falls dieser eintrag existiert, gibst du ihn aus, sonst gibst du "-" oder "" aus. als letztes folgt dann "</td></tr>" und das Ende der schleife. um die schleife herum muss natürlich <table> ... </table> stehen, aber das ist ja logisch.
Warum ich dir den code nicht einfach schreibe? Weil ich will, dass du den scheiss auch verstehst. hätte ich dir den code geschrieben, hättest du ihn wahrscheinlich nur kopiert und gleich wieder das nächste gefragt, weil du dir nicht die mühe gegeben hättest, meinen ganzen post durchzulesen. Aber mit dieser Anleitung sollte es ein leichtes sein, die tabelle zu erstellen.