Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Ultimo dato di un file di testo

    Ciao a tutti.

    Ho un file di testo che registra alcune informazioni con la seguente forma:

    info1|info2|info3|

    E' possibile stampare a video l'ultimo dato presente nel file?
    Il file non ha un numero preciso di dati, questi aumentano continuamente.

  2. #2
    Codice PHP:
    function last_row($file)
    {
    $contenuto file($file);
    $i count($contenuto);
    $ultimo $contenuto[--$i];
    unset(
    $contenuto);

    return 
    $ultimo;
    }

    echo 
    last_row('frasi.txt'); 
    non so se è il modo più efficiente, ma è il più semplice...


    Va anche detto che se a te serve sempre esolo 'ultimo record... potresti anche memorizzare sempre e solo quello sul file... o magari avere un file archvio dove appendi ed uno in cui tieni solo l'ultimo record (no forse questa soluzione è ancora più inefficiente )... insomma.. vedi tu


  3. #3
    Chiedo venia ma preso dalla fretta ho scritto male la richiesta
    La necessità è quella di stampare il dato che ha maggiori presenze all'interno del file.

    Io avevo explodato il file di testo in un array, poi attraverso array_count_values contato le occorrenze di tutti gli elementi del file e infine con un foreach stampato il file con più occorrenze.
    Il problema nasceva dal fatto che mi veniva stampato il numero delle occorrenze e non il nome.

    Zau!

  4. #4
    quado devi fare operazioni del genere conviene usare i database (che altro non sono che file strutturati in modo particolare per offrire prestazioni sicurezza e funzionalità di ricerca come quella che chiedi)..... cmq hai risolto..


  5. #5
    Ehm no, non ho risolto ho solo sbagliato a scrivere con l'imperfetto
    Il problema resta, cioè, riesco a fare in modo che il risultato stampato sia quello con più occorrenze, però mi viene stampato il numero e non il nome.

    P.s.: Userei volentieri il database se non fosse che sto creando uno script per chi non lo ha a disposizione, e quindi devo spremere al masimo i file di testo

    Ciao e grazie per le risposte

  6. #6
    posta il codice no?

  7. #7
    Ecco il codice:

    Codice PHP:
    $opzioni=explode("|",trim(implode("",file('browser.dat'))));
    $count array_count_values($opzioni);
    array_multisort ($countSORT_DESC);
    foreach (
    $count as $opzioniItem){
    if (
    $opzioniItem != null){
    $maggiore array_pop($count);
    }
    }
    echo 
    "$maggiore"
    In questo modo mi stampa il numero di occorrenze e non il nome.

    EDIT: Forse è un po' rozza come soluzione ma ho risolto così:

    Codice PHP:

    $opzioni
    =explode("|",trim(implode("",file('browser.dat'))));
    $count array_count_values($opzioni);
    array_multisort ($countSORT_DESC);
    $count array_flip($count);
    foreach (
    $count as $opzioniItem => $key){
    if (
    $opzioniItem != null){
    $maggiore array_pop($count);
    }
    }
    echo 
    "$maggiore"
    In pratica con array_flip ho invertito gli indici con le chiavi e in questo modo funza.

    Grazie cmq per il tempo dedicato

  8. #8
    [11:37:14] <@[AlberT]> !php array_count_values
    [11:37:15] <@AlboT> array array_count_values(array input) - Return the value as key and the frequency of that value in input as value - http://it2.php.net/array_count_values
    <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
    ' socio fondatore e membro del direttivo del GrUSP ',"\n",
    ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
    ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>

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.