Re: sorting multi array

From: Date: Wed, 25 Apr 2007 12:58:06 +0000
Subject: Re: sorting multi array
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-253695@lists.php.net to get a copy of this message
Jon Bennett wrote:
hi, I have the following array, which I need to sort by quantity... Array ( [2408] => Array
       (
           [name] => Havaianas Top Pink Crystal
           [size] => 5 (37/38)
           [quantity] => 4
       )
[3388] => Array
       (
           [name] => Havaianas Brazil Silver
           [size] => 6/7 (39/40)
           [quantity] => 6
       )
[2666] => Array
       (
           [name] => Havaianas Brasil Black
           [size] => 8/9 (41/42)
           [quantity] => 1
       )
[3210] => Array
       (
           [name] => Havaianas Margaridas Yellow
           [size] => 5 (37/38)
           [quantity] => 1
       )
[2552] => Array
       (
           [name] => Havaianas Flash White
           [size] => 5 (37/38)
           [quantity] => 1
       )
) I need to keep the indexes if poss. Many thanks, jon This works for me:
function cmp($a, $b) { $aq = $a['quantity']; $bq = $b['quantity']; if ($a == $b) {
       return 0;
} return ($aq < $bq) ? -1 : 1; } uasort($data, "cmp");
To reverse the sort order:      return ($aq > $bq) ? -1 : 1;
-- _____________________ Myron Turner http://www.room535.org http://www.bstatzero.org http://www.mturner.org/XML_PullParser/

« previous php.general (#253695) next »