Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    ordinare file per contenuto

    Salve a tutti, dovrei ordinare dei file per contenuto. Vi spiego: in una cartella chiamata "squadre" ho dei file php così chiamati:

    nomesquadra-paese.php

    Questi file contengono queste informazioni (che si aggiornano automaticamente):

    <?php/*|$punt|$gioc|$vint|$pari|$pers|$gfat|$gsub|$diff| */?>

    Insomma, le statistiche della squadra di calcio.

    Vorrei creare la classifica, cioè leggere i file e stampare a video il nome della squadra e tutti i valori all'interno del file, in ordine di $punt (dal più grande al più piccolo), e in caso di punti uguali ordinarli non solo rispetto a $punt ma a $gfat (goal fatti).

    Come posso fare? Idee?
    Mille grazie!

    ps: ovviamente so aprire i file e leggerne il contenuto, mettendolo in un array ($punt = $file[1] ecc...)

  2. #2
    Visto che hai i dati in un array prova a leggere qui: http://www.php.net/manual/en/array.sorting.php
    Così metti in ordine l'array e poi stampi i dati che vuoi.

  3. #3
    In realtà in ogni vettore ho il contenuto del singolo file. Vorrei ordinare i vettori in base al primo elemento di ognuno (che sarebbero i punti della squadra).
    Potrei fare così: apro tutti i file e creo una variabile chiamata "punti_nomesquadra_giocate_vinte_perse_ecc..." per ogni file.
    Poi ordino le variabili, le riesplodo e stampo i risultati. Esistono modi più semplici secondo voi?

  4. #4
    Salve,

    il mio problema si è evoluto.

    Ho un file di testo che contiene queste cose:

    4|3|1|1|1|1|2|-1|OMCC03-Concorezzo.php<br>1|3|0|1|2|1|4|-3|Real-Villasanta.php<br>8|2|2|2|0|5|1|4|Stella_Rossa-Cornate.php<br>

    Esplodendo il file con "<br>" come valore di esplosione ottengo un vettore con queste caratteristiche:

    $read[0] = 4|3|1|1|1|1|2|-1|OMCC03-Concorezzo.php
    $read[1] = 1|3|0|1|2|1|4|-3|Real-Villasanta.php
    $read[2] = 8|2|2|2|0|5|1|4|Stella_Rossa-Cornate.php

    Ora, vorrei ordinare questo vettore in modo da avere:

    $sort[0] = 8|2|2|2|0|5|1|4|Stella_Rossa-Cornate.php
    $sort[1] = 4|3|1|1|1|1|2|-1|OMCC03-Concorezzo.php
    $sort[2] = 1|3|0|1|2|1|4|-3|Real-Villasanta.php

    Cioè in ordine decrescente (rispetto al primo numero che compare). Come posso fare? Ho prpvato con la funzione sort:

    $sorted = sort($read);

    Ma non funziona.


    Grazie dell'aiuto!

  5. #5
    http://it2.php.net/manual/en/function.usort.php passa ad usort l'array e una funzione di callback che sappia dire, dati due elementi dell'array, quale sia l'ordinamento
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Ok, ma il file è in continua evoluzione, e a prescindere non so quanti elementi conterrà.

  7. #7
    chissenefrega, tu devi prima popolare un array con i contenuti di tutti i file che ti interessano, poi ordini l'array... hai detto che l'array con i risultati di tutte le squadre l'avevi ottenuto...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    Ok, proverò
    Sì certo, ma se aggiungo una squadra cambio il numero degli elementi dell'array. Cmq ora provo, grazie!

  9. #9
    Quote Originariamente inviata da Luca Crippa Visualizza il messaggio
    Ok, proverò
    Sì certo, ma se aggiungo una squadra cambio il numero degli elementi dell'array. Cmq ora provo, grazie!
    ciccio, l'array lo devi popolare "dinamicamente", mica lo popoli in maniera statica vero???
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    Beh, io prendo il file (che è in evoluzione, cioè si possono aggiungere dei pezzi), poi lo esplodo rispetto al separatore "<br>". Quindi faccio

    $read = @explode ("<br>", $file);

    E automaticamente ottengo il vettore $read[] che contiene tanti elementi quanti ne trova...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.