Visualizzazione risultati 1 fino 6 di 6

Discussione: lettura txt caricare array e poi stamparla

  1. #1
    Guest

    Predefinito lettura txt caricare array e poi stamparla

    Ciao a tutti

    allora ho letto un file txt e stampato nel video ma vorrei invece caricarlo un una array che poi vorrei stampare


    suggerimenti o esempi?

    grazie

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Per caricare un file direttamente in un array, usa la funzione file.

  3. #3
    Guest

    Predefinito

    il mio codice è:
    Codice PHP:
    if (!$p_file = fopen("miofile.txt","r")) {
    echo
    "Spiacente, non posso aprire il file miofile.txt";
    } else {
    while(!
    feof($p_file))
    {
    $linea = fgets($p_file, 255);
    echo
    "$linea<BR>";
    }
    e vorrei mettesse ogni riga su un elemento di matrice e poi vorrei stampare solo le righe da 5 a 7

    come modificarlo?

    grazie
    Ultima modifica di javascripter : 31-12-2013 alle ore 19.49.52 Motivo: +[php]

  4. #4
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    il tuo approccio è troppo C-Like :)
    Non che sia sbagliato, anzi è apprezzabile. Ma in php esistono funzioni che semplificano le operazioni più comuni.

    Codice PHP:
    if( ! ($righe = file("miofile.txt", FILE_IGNORE_NEW_LINES)) ) {
    die(
    "Impossibile aprire miofile.txt");
    }

    // estraggo le righe 5:7
    $righe = array_slice($righe, 4, 3);

    foreach(
    $righe as $riga) {
    echo
    "<p>", $riga, "</p>";
    }
    Ultima modifica di javascripter : 31-12-2013 alle ore 19.56.46

  5. #5
    Guest

    Predefinito

    bellissimo grazie :)

    me lo spiegheresti?

    <p> a cosa serve? e ($righe,4,3)?

    Io vorrei tutte le righe in matrice e non solo la 5 o la 7 così da poter stampare la riga di matrice che scelgo (o l'intervallo di matrici)


    scusami ma il php è quasi nuovo per me


    vorrei ottenere una stampare $righe[i] dove i va da 5 a 7 o è uguale a9
    Ultima modifica di teodolinda : 01-01-2014 alle ore 13.43.28

  6. #6
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Le specifiche delle funzioni puoi trovarle comodamente sulla documentazione ufficiale, inoltre sono accompagnate da una miriade di esempi e commenti.

    Ho usato la funzione file per caricare le righe del file in un vettore.
    Successivamente, per estrarre le righe da 5 a 7, ho usato la funzione array_slice. Partendo da 0, la posizione 4 del vettore $righe è la quinta riga. Quindi quel array_slice($righe, 4, 3), estrae 3 righe a partire dalla quinta.

    Se hai bisogno di consevare l'intero vettore, allora ti basta salvare l'output di array_slice in un'altra variabile.

    P.s. parlare di matrici non è sbagliato, dato che potrebbe essere vista come una matrice di caratteri di N righe x M colonne (dove M è la lunghezza della stringa più lunga) e con tutti gli svantaggi del caso (un po' di spreco di memoria)... ma in php, possiamo astrarre un po' di più per considerare la stringa un tipo più o meno a sè stante; pertanto possiamo parlare di vettore di N righe (in C consideralo un vettore di puntatori a char).
    Ultima modifica di javascripter : 01-01-2014 alle ore 14.01.48

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •