PDA

Bekijk Volledige Versie : [PHP] Array sorteren



Arie
27/02/03, 16:50
Ik gebruik de onderstaande array voor voetbalstatistieken van mijn
zaalvoetbalelftal. Nu wil ik hieruit gesorteerde statistiekenlijstjes
produceren.

Bijvoorbeeld:

scoringskans
1. de bruin 35.71
2. de vries 33.33
3. van vliet 2.99

Hoe kan ik dit het beste doen in PHP?

Arie

--------------

Array

(

[1] => Array

(
[speler_id] => 1
[achternaam] => de Bruin
[wedstrijden] => 14
[doelpunten] => 5
[winst] => 8
[gelijk] => 2
[verlies] => 4
[doelpunten_voor] => 53
[doelpunten_tegen] => 36
[winstkans] => 57.14
[scoringskans] => 35.71
[%totProductie] => 6.85
[gemVoor] => 3.79
[gemTegen] => 2.57
)

[2] => Array

(
[speler_id] => 1
[achternaam] => de Vries
[wedstrijden] => 18
[doelpunten] => 8
[winst] => 5
[gelijk] => 3
[verlies] => 3
[doelpunten_voor] => 33
[doelpunten_tegen] => 33
[winstkans] => 53.14
[scoringskans] => 33.33
[%totProductie] => 6.33
[gemVoor] => 3.33
[gemTegen] => 3.37
)

.. enz

)

Daniel Tryba
27/02/03, 17:35
Arie <nospam@nolegaldomain.como> wrote:
> Ik gebruik de onderstaande array voor voetbalstatistieken van mijn
> zaalvoetbalelftal. Nu wil ik hieruit gesorteerde statistiekenlijstjes
> produceren.
>
> Bijvoorbeeld:
>
> scoringskans
> 1. de bruin 35.71
> 2. de vries 33.33
> 3. van vliet 2.99
>
> Hoe kan ik dit het beste doen in PHP?
[knip array van arrays]

Daar is u(a)sort voor.

usort($array,"sortKans");

function sortKans($a,$b)
{
return $a['scoringsKans']-$b['scoringsKans'];
}

http://www.php.net/manual/en/function.usort.php

--

Daniel Tryba

Arie
27/02/03, 20:05
"Daniel Tryba" <news_nl.internet.www.server-side@canopus.nl> wrote in
message news:b3le7r$f02$1@news.tue.nl...
> Arie <nospam@nolegaldomain.como> wrote:
> > Ik gebruik de onderstaande array voor voetbalstatistieken van mijn
> > zaalvoetbalelftal. Nu wil ik hieruit gesorteerde statistiekenlijstjes
> > produceren.
> >
> > Bijvoorbeeld:
> >
> > scoringskans
> > 1. de bruin 35.71
> > 2. de vries 33.33
> > 3. van vliet 2.99
> >
> > Hoe kan ik dit het beste doen in PHP?
> [knip array van arrays]
>
> Daar is u(a)sort voor.
>
> usort($array,"sortKans");
>
> function sortKans($a,$b)
> {
> return $a['scoringsKans']-$b['scoringsKans'];
> }
>
> http://www.php.net/manual/en/function.usort.php
>
> --
>
> Daniel Tryba
>
Dank je!

function Compare($ar1, $ar2)
{
if ($ar1['scoringskans']>$ar2['scoringskans'])
return -1;
else if ($ar1['scoringskans']<$ar2['scoringskans'])
return 1;
return 0;
}

uasort($stat, 'Compare');

...brengt de oplossing die ik zocht..

Arie