Re: sort array of objects by muliple values [message #172024 is a reply to message #172019] |
Thu, 27 January 2011 20:46 |
Peter H. Coffin
Messages: 245 Registered: September 2010
Karma:
|
Senior Member |
|
|
On Thu, 27 Jan 2011 11:59:28 -0800 (PST), Max wrote:
> On Jan 27, 8:10?pm, Jerry Stuckle <jstuck...@attglobal.net> wrote:
>> On 1/27/2011 2:04 PM, Max wrote:
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>> Is there a simple way to sort $array below like SQL it does? I.e.
>>> ORDER BY birthday ASC, name ASC
>>> Output would be Kevin, Michael, Alice
>>
>>> Thanks!
>>
>>> <?php
>>> class User {
>>> ? ? ?private $firstname;
>>> ? ? ?private $surname;
>>> ? ? ?private $birthday;
>>
>>> ? ? ?function __construct($firstname, $surname, $birthday) {
>>> ? ? ? ? ?$this->firstname = $name;
>>> ? ? ? ? ?$this->surname = $surname;
>>> ? ? ? ? ?$this->birthday = $birthday;
>>> ? ? ?}
>>> ? ? ?function __get($n) {
>>> ? ? ? ? ?return $this->$n;
>>> ? ? ?}
>>> }
>>
>>> $array = array (
>>> ? ? ? ? ?new User('Alice', ? ? ? 'Smith', ?'1960-01-01'),
>>> ? ? ? ? ?new User('Michael', ? 'Jordan', ?'1950-01-01'),
>>> ? ? ? ? ?new User('Kevin', ? ? ?'Dilan', ? ?'1950-01-01'),
>>> ? ? ? ? ?);
>>
>> Use usort() with a static member function. ?See
>>
>> http://us2.php.net/manual/en/function.usort.php
>>
>> for an example.
>
> it sorts only by one field
If you sort a sorted array by another column, what do you think happens
to the records in identically-keyed records?
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting. [TOFU := text oben,
Q: What is the most annoying thing on usenet? followup unten]
|
|
|