Pelaajien keski-ikä pitäis laskea tän näköisestä tiedostosta:
veikko||23.04.1971||jalasjärvi||leader||active petteri||19.12.1993||bärsrööri||member||active unto||10.12.1982||timbuktu||member||inactive jne...
Syntämäajasta olen laskenut iän näin:
for($i=0;$i<$rivienmaara;$i++) { $pff = explode("||",$lines[$i]); $arr = explode(".",$pff[1]); $ika = round((time() - mktime(0, 0, 0, $arr[1], $arr[0], $arr[2])) / (31556926), 2); }
Lisäksi haluisin saada memberit tulostettua nimien mukaan aakkosjärjestyksessä. Miksi ei tämä ei tee niin?
$lines = file ('matsi/members.txt'); $rivienmaara = count ($lines); natcasesort($lines); for($i=0;$i<$rivienmaara;$i++) { $pff = explode("||",$lines[$i]); $arr = explode(".",$pff[1]); $ika = round((time() - mktime(0, 0, 0, $arr[1], $arr[0], $arr[2])) / (31556926), 2); print "<tr><td class=\"member\"><b><u>$pff[0]</u></b><td><tr><br>"; print "<tr><td class=\"member\"><b>Age:</b> $ika<td><tr><br>"; print "<tr><td class=\"member\"><b>Location:</b> $pff[2]<td><tr><br>"; print "<tr><td class=\"member\"><b>Rank:</b> $pff[3]<td><tr><br>"; print "<tr><td class=\"member\"><b>Status:</b> $pff[4]<td><tr><br>"; print "<tr><td class=\"member\"><b> </b> <td><tr><br>"; }
Keski-ikä on ikien summa jaettuna ikien määrällä. Eli laske kaikki iät yhteen johonkin muuttujaan silmukan sisällä ja jaa lopuksi tämän muuttujan arvo henkilöiden määrällä.
Funktio natcasesort järjestää taulukon, mutta ei muuta indekseitä. Tämän vuoksi perinteisen for-silmukan kannalta taulukko ei ole muuttunut mitenkään. Helpoiten asian voi korjata käyttämällä foreach-silmukkaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.