Visualizzazione risultati 1 fino 9 di 9

Discussione: loop list explode

  1. #1
    Guest

    Predefinito loop list explode

    ciao ragazzi chi mi aiuta???? non capisco perchè mi restituisce una sola riga anzikè darmi tute le righe del file:
    Codice PHP:

    $notif
    =percorso/file.txt;
    $leggi = file_get_contents($notif);
    $parts = explode("<br/>", $leggi);
    $numParts = count($parts) - 1 ;


    for(
    $i=0;$i<$numParts;$i++){

    list(
    $cosa, $chi, $dove, $quando) = explode(" ",$parts[$i]);


    if(
    $cosa = "opzione1"){ processo1;}

    if(
    $cosa = "opzione2"){ processo 2;}

    }}
    facciamo conto che nel file .txt abbiamo na cosa tipo:
    Codice HTML:
    opzione1 io qui domani <br/>
    opzione2 tu roma sabato <br/>
    opzione3 lui boh domenica <br/>
    (ne ho messo solo 3 ma facciam conto che ne sono 300) perchè questo script me ne restituisce una sola????
    cioè in pratica mi visualizza solo l ultima ;(
    Ultima modifica di xspacemasterx : 14-10-2012 alle ore 16.22.19

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

  3. #3
    Guest

    Predefinito

    ciao dreadnaut e grazie x il suggerimento ma il mio problema non è leggere il file ma elencare il contenuto e in base alla stringa $cosa processarla in modo diverso..... ho provato con file() ma il risultato non cambia ;( mi visualizza sempre l utima riga del file :(

    EDIT:

    hahhahah scusa dreadnaut avevi ragione :) ho provato meglio e funziona in questo modo :D :ciao

    EDIT:

    ciao ragà continuando con lo script ho incontrato quest altro problema:
    Codice PHP:

    $notif
    =percorso/file.txt;
    $leggi = file_get_contents($notif);
    $parts = explode("<br/>", $leggi);
    $numParts = count($parts) - 1 ;


    list(
    $cosa, $chi, $dove, $quando)= $parts['2'];
    echo
    "$cosa, $chi, $dove, $quando";



    }}
    in pratica mi vengono visualizzate solo le virgole :( come mai non riesco a listare singolarmente l array 2 del file.txt ???
    Ultima modifica di alemoppo : 15-10-2012 alle ore 20.58.43 Motivo: Edit

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Codice PHP:
    $notif=percorso/file.txt;
    Quella dovrebbe essere una stringa:
    Codice PHP:
    $notif = 'percorso/file.txt';
    Forse dovresti usare un editor con la colorazione della sintassi Inoltre, aggiungere in cima ad uno script
    Codice PHP:
    error_reporting(E_ALL);
    ti permette di vedere eventuali messaggi di errore.

  5. #5
    Guest

    Predefinito

    ok riavvolgiamo un pò. Lo script che ho sul sito è questo e conoscendo la lista che ho menzionato nei post precedenti
    dovrebbe restituirmi 4 stringhe ma escono solo le virgole della echo!!!
    Codice PHP:

    $notif
    ="percorso/file.txt";
    $leggi = file_get_contents($notif);
    $parts = explode("<br/>", $leggi);
    $numParts = count($parts) - 1 ;


    list(
    $cosa, $chi, $dove, $quando)= explode(" ",$parts['2']);
    echo
    "$cosa, $chi, $dove, $quando";
    ma gli array di un explode non possono essere explosi a loro volta???

    Poi inserendo error_reporting(E_ALL); in cima alla pagina mi dà questi errori:
    Notice: Undefined offset: 3 in .....

    Notice: Undefined offset: 2 in ......

    Notice: Undefined offset: 1 in .....

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Stampa $parts[2] prima di exploderlo ulteriormente e controlla: se non ci sono abbastanza elementi nel risultato ("undefined offset") vuol dire che non contiene quello che ti aspetti.

  7. #7
    Guest

    Predefinito

    ok ho fatto echo $parts['2']; e sono uscite tutte le informazioni che volevo, poi per intenderci col list e poi
    Codice PHP:
    echo"$cosa, $chi, $dove, $quando";
    mi sono usciti il $cosa e $chi al posto del $dove e $quando lasciano vuote le prime 2 stringhe praticamente mi visualizza:
    , , (val. di $cosa),(val. di $chi)
    qualcosa non quadra ma non riesco a capire dove intervenire....

  8. #8
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Probabilmente ci sono troppi spazi e non ottieni i pezzi giusti. Controlla con
    Codice PHP:
    var_dump( explode(" ",$parts['2']) );

  9. #9
    Guest

    Predefinito

    mi visualizza questo:
    Codice PHP:
    array(6) { [0]=> string(0) "" [1]=> string(0) "" [2]=> string(4) " cosa" [3]=> string(3) "chi" [4]=> string(4) "dove" [5]=> string(0) "" }
    per quanto riguarda gli spazi ho controllato i vari file txt non presentano doppi spazi tra una parola e l altra :( madò sto andando in tilt....... ;( cmq la stringa che ne deve uscire mi serve per eliminare la riga dal file txt.... ma ci sono altri metodi per farlo?????

Regole di scrittura

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