Your comparison function doesn't compare anything.
You should look at $a and $b and return an answer indicating which one
comes first. If you want $a to come before $b, return -1. If they're the
same, return 0. If you want $a to come after $b in the sorted list, return
1.
miguel
On Fri, 24 May 2002, olinux wrote:
> I am trying to sort array by key to a defined order -
> I thought uksort would be best option. Here's what i
> have come up with from the manual example - however it
> doesn't work at all.
>
> I want to sort this array by $region
>
> Array looks like this:
> $articles[$region][$article_id][$column_name]
>
> // END ADD ARTICLES TO MULTIDIMENSIONAL ARRAY
>
> // SORT ARRAY BY REGION
> function cmp ($a, $b) {
> if ($a == 'national') return 0;
> elseif ($a == 'international') return 5;
> elseif ($a == 'west') return 1;
> elseif ($a == 'south') return 2;
> elseif ($a == 'east') return 3;
> elseif ($a == 'midwest') return 4;
> }
>
> uksort ($articles, "cmp");
>
> Thanks much,
> olinux
>
>
>
> __________________________________________________
> Do You Yahoo!?
> LAUNCH - Your Yahoo! Music Experience
> http://launch.yahoo.com
>
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php