Ich versuche, mein Menü nach Alphabeten zu gruppieren und sie in Spalten aufzuteilen. So habe ich ein assoziatives Array, wo meine Artikel bereits nach Alphabeten sortiert sind.Sortierung von Menüelementen nach Spalten
foreach ($category['children'] as $children) {
$firstChar = $children['name'][0];
// if character is a number set it as #
if (is_numeric($firstChar)) {
$firstChar = "#";
}
if ($firstChar !== $previousChar) {
echo '<li class="submenu_tag">'.strtoupper($firstChar).'</li>';
$previousChar = $firstChar;
}
echo '<li><a href="'.$children['href'].'">'.$children['name'].'</a></li>';
$count++;
if ($count == 11) {
echo '</ul></div>';
echo '<div><ul>';
$count = 0;
}
}
echo '</ul></div>';
Was ich jetzt habe, wird dies ausgeben.
<div> <div> <div>
A Cow Fawn
Apple Crab Fish
Ape Fox
Ant D
Dog G
B Gazette
Boy E Goose
Ball Elephant Gorilla
Bad Egg
Elk H
C Hedgehog
Camel F Hen
Cat Falcon
</div> </div> </div>
Das gewünschte Ergebnis wäre, wenn die folgenden paar Elemente, die in einer Gruppe gehört, 11 Zeilen nicht überschreiten werden (mit Ausnahme der Leerräume dazwischen), dann wird es an einen neuen div bewegen. Etwas wie folgt aus:
<div> <div> <div>
A C F
Apple Cat Falcon
Ape Cow Fawn
Ant Crab Fish
Fox
B D
Boy Dog G
Ball Gazette
Bad E Goose
Elephant Gorilla
Egg
Elk .....
</div> </div> </div>
können Sie eine Beispieleingabe geben! –
ist nur '$ children ['id']' '$ children ['name']' und '$ children ['href']' – John