Salve a tutti sto avendo un problema con la generazione di un array e in particolare con la funzione explode.
Ho un file di testo da analizzare, riesco a vedere i file senza problemi e il contenuto è strutturato nel seguente modo:
TXT FILE
|id|Codice|Descrizione|Listino_1|Listino_2|Listino _3|Listino_4|Listino_5|stato|
|1|003|NOK105ITA|10,5|10,5|10,5|10,5|10,5|0|
|2|003|NOK105ITA|10,5|10,5|10,5|10,5|10,5|0|
|3|003|NOK105ITA|10,5|10,5|10,5|10,5|10,5|0|
|4|003|NOK105ITA|10,5|10,5|10,5|10,5|10,5|0|
per leggere il cotenuto file sto utlizzando la seguente funzione
praticamente estraggo anche l'indice del file, poi ricompongo tutto in un array con indice e contenuto, il problema è il seguente che la prima è l'ultima voce escono vuote sia come indice che come contenuto.codice:$contenuto_file = file($path_File); $array_key =''; foreach($contenuto_file as $row){ if($array_key ==''){ $array_key = @explode('|', $row); print_r($array_key); }else{ $array_content = @explode('|', $row); $array = array_combine($array_key, $array_content); print_r($array); }
Inoltre questa funzione che stò scrivendo mi servirà per diversi file quindi e di conseguenza co numero di varibili diverse quindi dev'essere sempre funzionante.
Stavo valutando l'ipotesi di usare un foreach per rimporre l'array ma il problema di fondo è che devo girare 10mila righe ogni volta che causerebbe un bel ritardo nel sistema....
Di seguito vi riporto quello che esce dal print_r
Array ( [] => [id] => 1 [Codice] => 001 [Descrizione] => NOK105ITA
[Listino_1] => 10,5
[Listino_2] => 10,5
[Listino_3] => 10,5
[Listino_4] => 10,5
[Listino_5] => 10,5 [stato] => 0 [ ] => )
ho evidenziato in rosso i due problemi che ho :-( potreste darmi un cosiglio su come eliminarli in maniera da non consumare troppe risorse ? GRAZIEEEEE