Re: Tricky sorting problem
| From: | Marek Kilimajer | Date: | Wed, 30 Oct 2002 17:41:30 +0000 |
| Subject: | Re: Tricky sorting problem | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-122066@lists.php.net to get a copy of this message | ||
the -5 should be -7
René Fournier wrote:
(Well, at least it's tricky for me... :-)
I need to sort an array based on three numbers that are situated in the middle of each array element. For example:
$list[] is an array, and contains the following [unsorted] elements:
Super-S862-030.jpg
Super-S1162-040.jpg
Super-S874-010.jpg
Super-S1174-020.jpg
I want to sort $list based on those last three numbers, just before the extension, so that the new sort order is:
Super-S874-010.jpg
Super-S1174-020.jpg
Super-S862-030.jpg
Super-S1162-040.jpg
I tried writing my own sort function--but can't seem to get anywhere with it:
function cmp ($a,$b) {
if (substr($a,-5,2) == substr($b,-5,2)) return 0;
return (substr($a,-5,2) < substr($b,-5,2)) ? -1 : 1 ;
}
usort($list,"cmp");
Any ideas? (Thanks.)
...Rene
---
René Fournier,
rene@smartslitters.com
Toll-free +1.888.886.2754
Tel +1.403.291.3601
Fax +1.403.250.5228
www.smartslitters.com
SmartSlitters International
#33, 1339 - 40th Ave NE
Calgary AB T2E 8N6
Canada