Try this (it should work):
while(list($k, $v) = each($myarray)){
$myarray[$k] = (int) $v;
}
arsort($myarray);
reset($myarray);
while(list($k, $v) = each($myarray)){
echo $k, ' == ', $v, "<BR>\n;
}
For better comprehension look at this post:
>Hey guys..
>
>I have this array that looks like this:
>
>$myarray = ( "apples" => 0, "oranges" => 2, "peaches" => 9, "pineapples" =>
>12, "stovetopstuffing" => 3, "grits" => 8);
>
>Fine and dandy. But, when I try to sort it in reverse order:
>
>arsort($myarray);
>
>I get THIS for output, obviously NOT what I want:
>
>peaches => 9
>grits => 8
>stovetopstuffing => 3
>oranges => 2
>pineapples => 12
>apples => 0
>
>Obviously, I want the pineapples entry to be at the top, since it has the
>highest value. What do I need to do?
You have stored strings as your values, instead of ints.
IE: (string) '9' > (string) '12' returns TRUE
You will need to take care in creating your array to have (int) values
instead of strings.
If all else fails, the following should work:
while(list($k, $v) = each($myarray)){
$myarray[$k] = (int) $v;
}
arsort($myarray);
reset($myarray);
while(list($k, $v) = each($myarray)){
echo $k, ' == ', $v, "<BR>\n;
}
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, April 14, 2001 5:19 AM
Subject: [PHP] sorting multi-dimensional arrays
> I have a question about sorting multidimensional arrays. Here is my
problem:
>
> I have an 2-d array:
> $joke[1][rating]=10;
> $joke[2][rating]=20;
> $joke[3][rating]=15;
> ....
>
> I would like to sort the jokes into an array based on the rating from
highest
> to lowest. The end result would be something like this:
> Joke 2 : 20 points
> Joke 3: 15 points
> Joke 1: 10 points
>
> How do I accomplish this?
>
> I have tried fooling around with sort(), arsort(), and array_multisort(),
but
> I just can't get it. Thank you very much for your time.
>
> Shane
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]