• User Attivo

    Come scrivo un ciclo in un array?

    Ciao a tutti
    dovevo rsolvere un problema e l'ho fatto ma due mi sembrano troppi...

    Come posso scrivere questo ciclo in un array?

    [php]
    $fileName = "http://www.pippo.com/testo.txt";
    $fileData = @file($fileName);
    if ($fileData != false) {
    foreach($fileData as $line_num => $line) {
    if (substr($line,0,2)=="LI") {

        //QUI' DOVREI POPOLARE UN ARRAY CON QUESTO CICLO 
      
        echo "<b>{$line_num}</b> : " . $line . "<br />\n";
        }
    }    
    

    }
    [/php]

    Grazie millemila


  • Moderatore

    $nuovo_array$line_num]=$line;

    sempre che abbia capito cosa ti serva 🙂

    :ciauz:


  • User Attivo

    Grazie massy

    in questa notte io avevo trovato questa soluzione

    [php]
    $fileName = "http://www.pippo.com/testo.txt";
    $fileData = @file($fileName);
    if ($fileData != false) {
    $ita=array("");
    foreach($fileData as $line_num => $line) {
    if (substr($line,0,2)=="LI") {
    $pippoIT=$line;
    $ita[]=$pippoIT;
    }
    }
    }
    [/php]

    che funziona.
    Ti spiego il servizio:
    In un file di testo ci sono circa 30000 righe.
    Ne estrapolo circa 100 con quella piccola condizione che sono poi quelli che mi servono.
    Faccio un array indipendente quindi piccolo su cui lavorare.
    Nell'array $ita devo adesso estrapolare le righe e inserirle in una tabella di database ma il complicato è:

    Ogni riga devo dividerla per tante voci quante ne sono all'interno e separate da uno spazio.

    Ogni riga è un record e ogni voce è un campo della tabella.

    Quindi teoricamente dovrei formare tanti array quanto il numero di righe poi estrapolare le voci, riconoscerle e inserirle nel DB.

    Come faccio a formare tanti array quanto il numero di righe in modo semplice?

    Grazie


  • User Attivo

    Ogni riga devo dividerla per tante voci quante ne sono all'interno e separate da uno spazio.

    $voci = explode(" ",$riga_di_testo);

    ossia: spezza la riga di testo usando lo spazio come separatore, genera un array e salvalo in $voci