Array im Array nach bestimmten Werten sortieren

dwex

Erfahrenes Mitglied
Hallo Leute,

ich habe hier ein gedankliches Problem (ich bin Urlaubsreif) und mir fehlt der Ansatz zur Lösung.

Ich habe folgendes (vereinfachtes) Array

Code:
Array
(
    [pageSize] => 20
    [numberOfMatches] => 3
    [numberOfPages] => 1
    [pageNumber] => 0
    [VendorRealEstatesResult] => Array
        (
            [0] => AppartmentRentProxy Object
                (
                    [noRooms] => 3
                    [hasBalcony] => 1
                    [kitchen] => 
                    [hasGarden] => 1
                    [street] => 
                    [foreignKey] => 59139129
                    [searchField1] => 
                    [searchField2] => 
                    [searchField3] => 
                )

            [1] => AppartmentRentProxy Object
                (
                    [noRooms] => 2
                    [hasBalcony] => 1
                    [kitchen] => 
                    [hasGarden] => 1
                    [street] => 
                    [foreignKey] => 59139129
                    [searchField1] => 
                    [searchField2] => 
                    [searchField3] =>  
                )

            [2] => AppartmentRentProxy Object
                (
                    [noRooms] => 3
                    [hasBalcony] => 1
                    [kitchen] => 
                    [hasGarden] => 1
                    [street] => 
                    [foreignKey] => 59139129
                    [searchField1] => 
                    [searchField2] => 
                    [searchField3] =>  
                )

        )

)

Wie man sieht handelt es sich um 3 Immobilien welche eine unterschiedliche Anzahl von Räumen haben. ([noRooms])

Jetzt würde ich das Array [VendorRealEstatesResult] so sortieren, dass das Objekt mit der niedrigsten Raumzahl im Array oben steht und das Objekt mit der höchsten Raumzahl unten.

Kann mir bitte jemand auf die Sprünge helfen wie man das am besten löst?
Vielen Dank für eure Anregungen!
 
Jepp. Extrahiere den Array [VendorRealEstatesResult] und sortiere ihn mit array_multisort() (Beispiel #3 Datenbankdaten sortieren).
Anschliessend wieder in den Ursprungsarray einfügen.

PHP:
foreach($array['VendorRealEstatesResult'] as $item){
    $rooms[] = $item->noRooms;
}
array_multisort($rooms, $array['VendorRealEstatesResult']);
var_dump($array);
 
Zurück