On Fri, 01 Feb 2008 18:10:53 +0100, Álvaro G. <Vicario"
<we*******************@demogracia.com>wrote:
*** Kovu escribió/wrote (Fri, 1 Feb 2008 04:40:45 -0800 (PST)):
>Hi, I have the next problem. I want to sort the array for the key,
>using a function. I have been looking for a function to operate with
arrays, but I haven't found anything.
Ej:
Array
(
[43] =001480-----3-----04/11/2003
[50] =001000-----3-----04/11/2005
)
I want to convert this array to:
Array
(
[1] =001480-----3-----04/11/2003
[2] =001480-----3-----04/11/2003
)
According to your example you want to sort an array discarding keys.
Not really, we have 2 different values here, I guess it's just a
preview/part of an array. Array index 50 would come before index 43 BTW,
001000 before 001480 offcourse trumps a later date. Or it's a typo. In
either case, difficult to interpret with 100% certainty. I'd advise the up
to look at the different functions able to sort arrays in
<http://nl2.php.net/manual/en/ref.array.php>
Offcourse, this dubious example could mean the OP wants to sort by the
ending date rather then the string value. Which would be something like:
function __mysort($a,$b){
$a_cmp = preg_match('%\d+/d+/\d+^%',$a,$a_match) ?
strtotime($a_match[0]):0;
$b_cmp = preg_match('%\d+/d+/\d+^%',$b,$b_match) ?
strtotime($b_match[0]):0;
if($a_cmp == $b_cmp) return 0;
return ($a_cmp < $b_cmp) ? -1 : 1;
}
usort($array,'__mysort');
--
Rik Wasmus