|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
..oO(Paul)
>How can I sort a multi-dimensional array? >For instance: >a[Name], a[adress], a[number of messages]. > >How to sort on the item of number of messages? Write your own comparison function and use usort() to apply it. Micha |
|
|
|
#3 (permalink) |
|
Messages: n/a
Hébergeur: |
On Oct 15, 3:20 pm, "Paul" <piet...@xs4all.nl> wrote:
> How can I sort a multi-dimensional array? > For instance: > a[Name], a[adress], a[number of messages]. > > How to sort on the item of number of messages? > > Thanks for the . Something like this (untested): usort($a, create_function('$a1,$a2', 'return $a1["number of messages"] - $a2["number of messages"];')); |
|
|
|
#4 (permalink) |
|
Messages: n/a
Hébergeur: |
"ZeldorBlat" <zeldorblat@gmail.com> schreef in bericht news:1192478692.496334.152780@v29g2000prd.googlegr oups.com... > On Oct 15, 3:20 pm, "Paul" <piet...@xs4all.nl> wrote: >> How can I sort a multi-dimensional array? >> For instance: >> a[Name], a[adress], a[number of messages]. >> >> How to sort on the item of number of messages? >> >> Thanks for the . > > Something like this (untested): > > usort($a, create_function('$a1,$a2', 'return $a1["number of messages"] > - $a2["number of messages"];')); > Thanks. My solution: usort ($a, "mysort"); function mysort ($a, $b) { if ($a['number of messages']<$b['number of messages']) return -1; else if ($a['number of messages']>$b['number of messages']) return 1; return 0; } |
|
|
|
#5 (permalink) |
|
Messages: n/a
Hébergeur: |
..oO(Paul)
>"ZeldorBlat" <zeldorblat@gmail.com> schreef in bericht >news:1192478692.496334.152780@v29g2000prd.googleg roups.com... >> >> Something like this (untested): >> >> usort($a, create_function('$a1,$a2', 'return $a1["number of messages"] >> - $a2["number of messages"];')); >> >Thanks. My solution: >usort ($a, "mysort"); >function mysort ($a, $b) { > if ($a['number of messages']<$b['number of messages']) return -1; > else if ($a['number of messages']>$b['number of messages']) return 1; > return 0; >} JFTR: I would drop the if-else and simply return the difference between both values as in ZeldorBlat's function. The comparison function doesn't necessarily have to return exactly -1, 0 or 1, the return value just has to be lower than, equal to or greater than zero. Micha |
|
![]() |
| Outils de la discussion | |
|
|