Gruppe-array Ergebnisse in Alphabetischer Reihenfolge, PHP
Ich verwende folgenden code um Bild & Name des webisites Formular Datenbank.
<fieldset>
<h1>A</h1>
<ul>
<?php foreach ($records as $key) { ?>
<li class="siteli"> <a href="#" class="add">
<div id="site-icon"><img src="<?php echo $key->site_img; ?>" width="16" height=""></div>
<p id="text-site"> <?php echo $key->site_name; ?></p>
</li>
<?php } ?>
</ul>
</fieldset>
Jetzt versuche ich, zu der Gruppe diese Ergebnisse alphabetisch durch hinzufügen von A, B, C usw. als Titel.
Beispiel,
A
Amazon
Aol
Aol Mail
B
Bing
Bogger
- display-dump
$records
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie array Sortieren im array sortiert. In deinem Fall würde ich wählen sort()
Nun zeigen die links, die mit einem vorhergehenden Brief, den ich verwenden würde:
Diese Ausgabe so etwas wie
Beachten Sie, dass das C fehlt, weil es keine Wörter beginnend mit C.
$char = $val[0];
zu$char = strtolower($val[0]);
.Dies ist eine Modifikation von @Hugo Delsing Antwort.
Ich brauchte, um in der Lage sein zu Gruppe meine Marken zusammen, wie diese, aber ein bug im code war die Tatsache, dass, wenn ich hatte zu sagen iForce Nutrition and Inner Armour würde es diese Gruppe in zwei separate Gruppen, denn von der groß - /Kleinschreibung.
Änderungen, Die Ich Gemacht
Weil es voll war alphabetisch, es war nur nach dem ersten Buchstaben, die ich verpasst SORT_STRING zu SORT_NATURAL
Geändert: if ($char !== $lastChar) if (strtolower($char) !== strtolower($lastChar))
Die endgültige Ausgabe Aussehen wird, das
Ich hoffe das hilft allen und ein großes Dankeschön an Hugo für die Bereitstellung der Codes, hab mir genau, wo ich sein musste.
Sehen Sie mein Beispiel hier https://hyperionsupps.com/brand-index