Ask a Question related to PHP Development, Design and Development.
-
Brian #1
Sorting a Multidimensional Array
I have an array like this:
$events = array(
array(
'2003-07-01',
'Event Title 1',
'1' //ID Number (not unique)
),
array(
'2003-07-02',
'Event Title 3',
'22'
),
array(
'2003-07-06',
'Event Title 3',
'35'
)
);
I want to sort it by date. How would I do it?
I read the documentation for usort(), but I can't get it to work right.
Any suggestions?
Brian Guest
-
creating a multidimensional array
How can I combine two arrays in cfscript to form one multidimensional array? For example, I have two arrays: firstarray=fred; firstarray=jim;... -
sorting multidimensional arrays
One last question about multi-dimensional arrays - I'm aware of the function array_multisort, but that keeps the relationship with the key - what do... -
Problem with multidimensional array
Hi! I'm new on this forum, and in the Macromedia Flash development. I've read some books, like the Flash MX 2004 game development (C. S. Murray,... -
Multidimensional array: see if 1st key is available
Hi, I've got an multidimensional array $ret = $country_code; Now I want to see if $countryCode is even in that array, because if it's not, it... -
Split multidimensional array into 4 multidimensional arrays
Hello everyone, I have a multidimensional array that I need to split into 4 multidimensional arrays. I've tried the examples from the... -
Brian #2
Re: Sorting a Multidimensional Array
Thank you so much, Jason. I didn't understand what the extra function
was for until you posted that.
It works perfectly, now. Thanks again.
>
> Sorting by date from the usort docs on php.net - sorting a
> multidimensional array:
>
> <begin>
> function cmp ($a, $b) {
> //return strcmp($a["fruit"], $b["fruit"]);
> // in the case of the above array
> // note we are comparing the first element of each array
> if ( $a[0] < $b[0] ) {
> return -1;
> }
> if ( $a[0] > $b[0] ) {
> return 1;
> }
> // they are equal
> return 0;
> }
>
> // we're using the array supplied above by Brian
> /*
> $fruits[0]["fruit"] = "lemons";
> $fruits[1]["fruit"] = "apples";
> $fruits[2]["fruit"] = "grapes";
> */
>
> // again, using data supplied by Brian
> usort($events, "cmp");
> //usort($fruits, "cmp");
> <end>
>
> This should sort the multidimensional array by the first element (index
> 0). Incidentally, you could make it sort in descending order by
> switching the 1 and -1 in the "cmp" function.
>
> Also, doing this in objects gets kind of tricky, read the user supplied
> notes, there's a lot of useful stuff in there.
>
> Jason
>
>Brian Guest



Reply With Quote

