moin,
du könntest die einzelnen Array Elemente per "substr" auf den ersten Buchstaben zerlegen und dann mit ner if-Anweisung den Aufbau so gestallten wie du willst.
In dem Fall wird der erste Buchstabe genommen in der $fkey Variable gespeichert, ist diese Variable gleich der variable $lastfkey, dann ist der Anfansbuchstabe der gleich, sind die beiden Variablen nicht gleich wird der Anfangsbuchstabe genommen und als Upper Case dargestellt.
Hab zwar das nicht getestet sollte aber genau das machen was du willst.
Aber ich glaube das geht noch einfacher, es gibt meiner Meinung nach eine Array Funktion die ein Array neu "berechnet" bzw. neu aufbaut aus den Werten die schon drinne sind, da kannst du auch neue Schlüssel anlegen, also z.B. "A" => "NAME mit A am ANfang", "B" => "Name mit B am Anfang" etc...
$lastfkey = "";
for ($i=0; $i<$anzahl; $i++)
{
$fkey = substr($ergebnis[$i]["displayname"], 1, 1);
echo "<tr>";
if($fkey != $lastfkey)
{
echo "<td width=150 colspan='2'>".strtoupper($fkey)."</td>";
}
else
{
echo "<td width=150>" . $ergebnis[$i]["displayname"] . "</td>";
if (empty($ergebnis[$i]['department']))
{
echo '<td width=150> </td>';
}
else /*Breite vom Feld*/
{
echo '<td width=150>' . $ergebnis[$i]['department'] . '</td>';
}
}
echo "</tr>";
$lastfkey = $fkey;
}
Gruß ich