Tom: assoziatives Array sortieren

Beitrag lesen

Hello,

Wenn Du das Array umbauen würdest in der Form
geht leider nicht, das Script ist Teil eines CMS (Simpleportal)
Da müsste ich zu viel Code ändern.

kommt darauf an, was mehr Aufwand macht...

Alternativ ziehst Du einen Auszug aus dem Array:

$_auszug = array();

if (is_Array($_array))
{
    foreach($_array as $nummer->$_record)
    {
        if (isset($_record['name']))
        {
            $_auszug[$nummer] = $_record['name'];
        }
    }

natsort($_auszug);
    ## nun liegt das Auszugsarray sortiert vor.
 }

Jetzt musst Du das ursprüngliche Array nur noch nach der Reihenfolge des sortierten ausgeben. Dabei gilt hier der Spezialfall, dass alle Datensätze, die kein ['name'] enthalten haben, aus der Liste herausfallen.

Hierfür ist array_keys() sinnvoll.
http://de2.php.net/manual/en/function.array-keys.php

Vorteil dieser Vorgehensweise ist, dass das Ursprungsarray in seiner Sortierung gar nicht angetastet wird und man sich auch mehrere Indexe aufbauen kann, nach denen ausgegeben werden kann.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://restaurant-zur-kleinen-kapelle.de