webForumDet fria alternativet

Sortering av flerdimensionell array

1 svar · 322 visningar · startad av sabbacus

sabbacusMedlem sedan juli 2002630 inlägg
#1

Tjena. Jag skulle vilja sortera en array med följande struktur på pris (PRICE), stigande. Detta måste göras i php då jag inte har någon möjlighet att påverka sql-frågan =/
Jag har testat med array_multisort med följande anrop

array_multisort( $products, SORT_ASC );

där $products är nedanstående array men utan resultat.
Tips och lösningsförslag mottages med glädje =)
/Magnus

Array
(
  [0] => Array
      (
          [LINK] => _product.php?pid=1&id=13
          [NAME] => Verona R 150x70 (84)
          [SDESC] => En praktisk kombination för trånga utrymmen. På 150 cm får du både badkar eller massagebad och en komplett duschhörna. Baddjup: 40 cm
          [LDESC] => Badkar fr: 5.900:- Massagebadkar fr: 10.900:-
          [PRICE] => 15084
          [UNIT] =>            [VAT] => 0
      )

  [1] => Array
      (
          [LINK] => _product.php?pid=1&id=15
          [NAME] => Lyon 120x70
          [SDESC] => Ett litet badkar för små utrymmen. Karet kan kombineras med duschvägg. Baddjup: 40 cm
          [LDESC] => Badkar fr: 5.700:- Massagebadkar fr: 12.800:-
          [PRICE] => 12070
          [UNIT] =>            [VAT] => 0
      )

  [2] => Array
      (
          [LINK] => _product.php?pid=1&id=16
          [NAME] => Lyon 140x70
          [SDESC] => Lyon 140 är ett praktiskt badkar, designat för att ge dig en härlig badupplevelse även om du inte har så stora utrymmen. Baddjup: 40 cm
          [LDESC] => Badkar fr: 5.700:- Massagebadkar fr: 12.800:-
          [PRICE] => 14070
          [UNIT] =>            [VAT] => 0
      )

  [3] => Array
      (
          [LINK] => _product.php?pid=1&id=17
          [NAME] => Lyon 150x70
          [SDESC] => Om badrummets standardmått, 160 cm, skulle understigas, så har vi ändå ett badkar som passar dig. Kombinera gärna med duschvägg. Baddjup: 40 cm
          [LDESC] => Badkar fr: 5.800:- Massagebadkar fr: 12.900:-
          [PRICE] => 15070
          [UNIT] =>            [VAT] => 0
      )

)
MatteMedlem sedan aug. 20002 975 inlägg
#2

Använd dig av usort.

Exempel:

function cmp($a, $b) 
{
   if ($a['PRICE'] == $b['PRICE']) {
       return 0;
   }
   return ($a['PRICE'] > $b['PRICE']) ? -1 : 1;
}

usort($products, 'cmp');
127 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)