Php: Ordinamento record file di testo (txt)





In un file.txt contenente i campi nome, punti e lanci, i records (le righe dei file di testo), in fase di visualizzazione i dati vengono ordinati per punteggio dal più grande al più piccolo.

<?php
//.........
$somecontent = $nome."|" $punti. "|" .$lanci;//scrivi il record con separatore |
//...........
$risultato=file("file.txt");//ottieni un array di record => nome|punti|lanci
$stampa=array();//inizializzi un array
foreach($risultato as $valore){
$separi=explode("|", $valore);//suddividi il record secondo il carattere |
/*
in $separi[0] => nome
in $separi[1] => punti
in $separi[2] => lanci
e ricrei un array da ordinare, usando i punti come chiave
*/
$chiave=$separi[1];//forse se i punti sono un numero ti conviene forzare ad intero: $chiave=(int)$separi[1];
$stampa[$chiave]="nome:&nbsp;".$separi[0]."<br/>punti:&nbsp;".$separi[1]."&nbsp;&nbsp;lanci:&nbsp;".$lanci."<br/>";
}
ksort($stampa);//ordini l'array secondo la chiave punti, o krsort se ordine inverso
//e stampi il risultato
foreach($stampa as $testo){
echo $testo;
}
//.....
?>


fonte: https://forum.mrwebmaster.it/threads/ordinare-dati-da-file-di-testo.41383/

Commenti