sort array of objects?

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
stride-r
Forum Newbie
Posts: 2
Joined: Fri May 28, 2010 1:40 pm

sort array of objects?

Post by stride-r »

Here's a sample array:

[text]Array
(
[0] => stdClass Object
(
[category_id] => 18
[category_name_text] => Women's clothes
)

[1] => stdClass Object
(
[category_id] => 16
[category_name_text] => Men's clothes
)

[2] => stdClass Object
(
[category_id] => 17
[category_name_text] => Children's Clothes
)

)[/text]

How does one sort this based on "category_name_text" ?
Last edited by Benjamin on Fri May 28, 2010 8:16 pm, edited 1 time in total.
Reason: Added [syntax=text] tags.
User avatar
Eran
DevNet Master
Posts: 3549
Joined: Fri Jan 18, 2008 12:36 am
Location: Israel, ME

Re: sort array of objects?

Post by Eran »

Use uasort() with a custom function that compares that attribute for the objects.
http://www.php.net/manual/en/function.uasort.php
User avatar
John Cartwright
Site Admin
Posts: 11470
Joined: Tue Dec 23, 2003 2:10 am
Location: Toronto
Contact:

Re: sort array of objects?

Post by John Cartwright »

I remember the first time I used this function I found it rather confusing. However, it is very simple to do.. i.e.,

Code: Select all

function mySort($a, $b) { 
    return (strcmp($a->category_name_text,$b->category_name_text));    
}

uasort($data, 'mySort');
stride-r
Forum Newbie
Posts: 2
Joined: Fri May 28, 2010 1:40 pm

Re: sort array of objects?

Post by stride-r »

PERFECT! Works like a charm.
Post Reply