Andreas Berkl: mehrdimensionales Array sortieren

Beitrag lesen

Hallo,

ich fürchte, das ist eine echte Anfängerfrage, bin hier im Forum allerdings nicht fündig geworden.

Ich möchte ein Array nach 'Nachname', 'Vorname' sortieren:

<?PHP
$entry["lastname"][0] = "Müller";
$entry["firstname"][0] = "Günther";
$entry["lastname"][1] = "Bauer";
$entry["firstname"][1] = "Michael";
$entry["lastname"][2] = "Zeiler";
$entry["firstname"][2] = "Alfons";
$entry["lastname"][3] = "Müller";
$entry["firstname"][3] = "Reinhard";
$entry["lastname"][4] = "Müller";
$entry["firstname"][4] = "Markus";
$entry["lastname"][5] = "de Klerk";
$entry["firstname"][5] = "Simon";
$entry["lastname"][6] = "Müller";
$entry["firstname"][6] = "Franz";

'natcasesort' sortiert 'de Klerk' richtig!

erstmal die Vornamen...

natcasesort ($entry["firstname"]);

Pointer auf Anfang setzen...

reset($entry);

jetzt nach die Nachnamen...

natcasesort ($entry["lastname"]);

while (list($key) = each($entry["lastname"]))
{
  echo  $key  . " > ";
  echo  $entry ["lastname"] [$key] . ", ";
  echo  $entry ["firstname"] [$key] . "<BR>";
}
?>

Als Ergebnis bekomme ich:

1 > Bauer, Michael
5 > de Klerk, Simon
3 > Müller, Reinhard
4 > Müller, Markus
6 > Müller, Franz
0 > Müller, Günther
2 > Zeiler, Alfons

und nicht, wie erhofft:

1 > Bauer, Michael
5 > de Klerk, Simon
5 > Müller, Franz
0 > Müller, Günther
4 > Müller, Markus
3 > Müller, Reinhard
2 > Zeiler, Alfons

Kann mir da jemand einen Tipp geben?

Danke, Andreas