Versio

Array met punten

Overzicht Reageren

W w

w w

02/12/2006 21:04:00
Quote Anchor link
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
 
PHP hulp

PHP hulp

23/05/2012 21:35:33
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Jan Koehoorn

Jan Koehoorn

02/12/2006 21:07:00
Quote Anchor link
Eerst maar de simpele manier. Stel dat de array $punten heet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
    echo '<ol>';
    foreach ($punten as $key => $value) {
        echo '<li>'.$key.' heeft '.$value.' punten</li>';
    }

    echo '</ol>';
?>

Voor het sorteren moet je even kijken bij de arrayfuncties op php.net
Edit:

Daarvoor moet je arsort hebben.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
W w

w w

02/12/2006 21:29:00
Quote Anchor link
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):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
)

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
 
Jan Koehoorn

Jan Koehoorn

02/12/2006 21:31:00
Quote Anchor link
Ik zei dan ook arsort, en niet asort ;-)

Die letter r staat voor reverse.
 



Overzicht Reageren