Array met punten
Beste PHPHulp'ers,
Ik heb een vraag. Na een aantal queries kom ik met deze array uit:
Array (
'sjappie' => 3
'sjakie' => 4
'trudie' => 3
'ik' => 99
'iemand anders' => 1
'thea' => 2
)
Nu wil ik hier deze lijst uit krijgen:
<ol>
<li>ik heeft 99 punten</li>
<li>sjakie heeft 4 punten</li>
<li>sjappie heeft 3 punten
<br />
trudie heeft 3 punten</li>
<li>thea heeft 2 punten</li>
<li>iemand anders heeft 1 punten</li>
</ol>
Nog liever heb ik de derde zo:
<li>sjappie en trudie hebben allebei 3 punten</li>
En de 5e zo:
<li>iemand anders heeft 1 punt</li>
Ik snap echt niet hoe ik deze lijst zo kan krijgen. Of moet ik de array-structuur anders doen?
Groeten,
Wieland
Ik heb een vraag. Na een aantal queries kom ik met deze array uit:
Array (
'sjappie' => 3
'sjakie' => 4
'trudie' => 3
'ik' => 99
'iemand anders' => 1
'thea' => 2
)
Nu wil ik hier deze lijst uit krijgen:
<ol>
<li>ik heeft 99 punten</li>
<li>sjakie heeft 4 punten</li>
<li>sjappie heeft 3 punten
<br />
trudie heeft 3 punten</li>
<li>thea heeft 2 punten</li>
<li>iemand anders heeft 1 punten</li>
</ol>
Nog liever heb ik de derde zo:
<li>sjappie en trudie hebben allebei 3 punten</li>
En de 5e zo:
<li>iemand anders heeft 1 punt</li>
Ik snap echt niet hoe ik deze lijst zo kan krijgen. Of moet ik de array-structuur anders doen?
Groeten,
Wieland
Gesponsorde koppelingen:
Eerst maar de simpele manier. Stel dat de array $punten heet:
Voor het sorteren moet je even kijken bij de arrayfuncties op php.net
Code (php)
Voor het sorteren moet je even kijken bij de arrayfuncties op php.net
Edit:
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Bedankt voor je reactie jan!
Ja ik heb al rondgezocht op php.net, en heb een paar functies eeuhm, hoe zeg je dat, bekeken.
Ten eerste: array_flip. Dit werkt niet aangezien er meerdere users zijn met bijvoorbeeld 3 punten.
Ten tweede: sort sorteert werkt ook niet, kijk maar naar deze twee arrays (1e is voor sort(), en tweede na):
Dat werkt dus niet, omdat ik nu de usernames niet meer heb.
Derde: asort() komt al aardig in de buurt, alleen nu komt 1 bovenaan, en onderaan 99.
Ik kom er dus niet uit. Heeft iemand een tip?
Groet,
Wieland
Ja ik heb al rondgezocht op php.net, en heb een paar functies eeuhm, hoe zeg je dat, bekeken.
Ten eerste: array_flip. Dit werkt niet aangezien er meerdere users zijn met bijvoorbeeld 3 punten.
Ten tweede: sort sorteert werkt ook niet, kijk maar naar deze twee arrays (1e is voor sort(), en tweede na):
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Array
(
[sjappie] => 3
[sjakie] => 4
[trudie] => 3
[ik] => 99
[iemand anders] => 1
[thea] => 2
)
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 3
[4] => 4
[5] => 99
)
(
[sjappie] => 3
[sjakie] => 4
[trudie] => 3
[ik] => 99
[iemand anders] => 1
[thea] => 2
)
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 3
[4] => 4
[5] => 99
)
Dat werkt dus niet, omdat ik nu de usernames niet meer heb.
Derde: asort() komt al aardig in de buurt, alleen nu komt 1 bovenaan, en onderaan 99.
Ik kom er dus niet uit. Heeft iemand een tip?
Groet,
Wieland
Gewijzigd op 01/01/1970 01:00:00 door w w
Ik zei dan ook arsort, en niet asort ;-)
Die letter r staat voor reverse.
Die letter r staat voor reverse.



