Non capisco il senso di effettuare l'explode() due volte con lo stesso separatore!
Mi spiego:
Mettiamo che $letto sia:
Codice:
primo|secondo|terzo|quarto|quinto|...
.
Dopo:
Codice PHP:
$membro=explode("|",$val);
$membro sarà:
Codice:
Array('primo', 'secondo', 'terzo', 'quarto', 'quinto', '...')
Poi, con il foreach prendi ogni elemento e rieffettui l'explode con "|":
Codice PHP:
foreach($membro as $c => $val_1){
$dati=explode("|",$val_1);
$val_1 non contiene il carattere "|", perché lo hai ricavato facendo l'explode proprio grazie a quel carattere. Quindi $dati[1] non so come lo hai pensato.
Ciao!