depp: Array neu ordnen

moin.
hab nen array mit mehreren dimensionen...
$arr["bla"]['sdas']['hhh']='bbbb';
$arr["cla"]['asdas']['hshh']='bbbbss';
$arr["dla"]['das']['hshh']='bbbba';
^ so zum beispiel...
nun soll eine etwas unübliche "sortierung durchgeführt werden:
'cla' soll an erster stelle stehen. die anderen einträge können so bleiben wie sie sind. das wäre dann:
$arr["cla"]['asdas']['hshh']='bbbbss';
$arr["bla"]['sdas']['hhh']='bbbb';
$arr["dla"]['das']['hshh']='bbbba';
danke für tipps

  1. echo $begrüßung;

    hab nen array mit mehreren dimensionen...

    "Verschachtelte Arrays" treffen die Gegebenheiten unter PHP besser als "mehrdimensional".

    nun soll eine etwas unübliche "sortierung durchgeführt werden:

    Für "unübliche" Sortierungen sind die Sortierfunktionen mit userdefinierter Vergleichsfunktion gedacht. Zu finden sind sie auf der Handbuchseite zu den Array-Funktionen: uasort, uksort und usort.

    echo "$verabschiedung $name";

    1. gibts keine möglichkeit die das mit dem gewünschten array ganz oben an position/index=0 hinzustellen und dafür am ende zu entfernen?
      das wäre wohl einfacher... kann keine funktion finden, womit man die positionierung der arrays beeinflussen kann :(

      1. echo $begrüßung;

        gibts keine möglichkeit die das mit dem gewünschten array ganz oben an position/index=0 hinzustellen und dafür am ende zu entfernen?

        Elemente entfernen geht mit unset(). Vorher könntest du ein neues Array mit diesem Element als erstem Element erstellen. Danach könntest du den Rest mit dem eben erstellten Array zusammenkopieren, wofür sich die Funktion array_merge() oder der Array Operator + eignen können. Beide arbeiten etwas unterschiedlich, wie du dem Handbuch entnehmen kannst.

        echo "$verabschiedung $name";

  2. Hallo,

    dasselbe Problem hatte ich auch mal, die Lösung findet sich auf php.net in einer der vielen Kommentare ;)

    Wenn ich dich richtig verstanden habe, suchst du das ...

    /*
    * Vermischt Array, behält aber Zugehörigkeiten von Keys + Inhalt bei
    * Quelle:
    * http://de.php.net/manual/en/function.shuffle.php
    * Vladimir Kornea of typetango.com
    */
    function shuffle_me($shuffle_me) {
        $randomized_keys = array_rand($shuffle_me, count($shuffle_me));
        foreach($randomized_keys as $current_key) {
             $shuffled_me[$current_key] = $shuffle_me[$current_key];
         }
       return $shuffled_me;
    }