Minulla on tiedostossa merkkijonoja kuten alla.
Lauri|3|0|0|0|4|6|4|4|8|8|10|8|12|12|15|12|16|16
Siinä on nimen perässä 32 numeroa.
Nyt haluaisin näistä moniulotteisen taulukon, jossa numerot on neljän ryhmissä. Vaikea selittää, selventäisikö tämä mun yritys.
<?php $players=file("guesses.txt"); $guesses=array(); foreach ($players as $player){ $sep=explode("|", $player); for($i=0;$i<count($sep);$i++) { for($b=0;$b<4;$b++) { $guesses[$sep[0]][(ceil(($i+1)/4)-1)][$b]=$sep[$i+1]; } } } print_r($guesses); ?>
Mikähän mättää kun muuten toimii niinkun pitää mutta noita nimen perässä olevia numeroita ei tule taulukkoon.
Poista [$b]
Teet tällä hetkellä $guesses-taulukon muotoon
$guesses[X][Y][0] $guesses[X][Y][1] $guesses[X][Y][2] $guesses[X][Y][3]
Nämä kaikki neljä sisältävät saman arvon.
Muoks!
Hmm, vähän monimutkaisempaa. Elikkä muuta sittenkin niin, että $i kasvaa neljän väleillä, sen jälkeen täyte tulee muotoon = $sep[$i+$b+1] ... jos tahdot päästä ilman ceil-leikkejä, niin lisää vielä yksi muuttuja, jota kasvatat aina yhdellä jokaista $i:n looppia kohti (ts. loopin lopuksi).
Aihe on jo aika vanha, joten et voi enää vastata siihen.