phpbar.de logo

Mailinglisten-Archive

[php] array_multiksort

[php] array_multiksort

Ringo Großer swek at gmx.net
Fre Sep 29 01:02:45 CEST 2006


Guten Morgen,

und gleich noch eine Array-Sortier-Frage hinterher:

Gibt es so etwas wie array_multiksort? Diese
Funktion gibt es laut Manual nicht, wenn ich sie nicht
übersehen habe.

Ich möchte gern das folgende Array nach dem
Werten des Schlüssels "price" aufsteigend sortieren:

$cars = array(
    'BMW' => array(
        'color' => 'black',
        'year' => '2005',
        'price' => '22.000',
    ),
    'Audi' => array(
        'color' => 'blue',
        'year' => '2004',
        'price' => '31.000',
    ),
    'Renault' => array(
        'color' => 'silver',
        'year' => '2006',
        'price' => '11.000',
    ),
);

Dazu nehm ich normalerweise array_multisort

$prices = array();
foreach ( $cars as $made => $properties ) {
    $prices[] = $properties['price'];
}
array_multisort($prices, SORT_ASC, $cars);

mit dem Effekt, dass er mir die assoziativen Keys in
$cars löscht, um sie durch die sortierten Indexe zu
ersetzen.
Ok, ich könnte den Verlust der Herstellerinformation
vermeiden, wenn ich in den Eigenschaften den
Hersteller nochmal selbst vermerke. Aber gesetzt
den Fall ich bin auf die obige Struktur angewiesen?
Gibts dafür etwas was mir auch bei array_multisort
die Schlüssel erhalten kann?

regards, Ringo 


php::bar PHP Wiki   -   Listenarchive