By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,383 Members | 2,067 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,383 IT Pros & Developers. It's quick & easy.

Sorting a Multidimensional Array

P: n/a
I have an array like this:

$events = array(
'Event Title 1',
'1' //ID Number (not unique)
'Event Title 3',
'Event Title 3',
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?
Jul 16 '05 #1
Share this Question
Share on Google+
1 Reply

P: n/a
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 - sorting a
multidimensional array:

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");

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.


Jul 16 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.