Ho quanto segue in un file denominato test_tab.txt
(tab separati) separato , scritto in un altro file di testo):PHP esplodere valori in una matrice, output scheda lima
header1 header2 header3
field1 field1a field1b
field1 field1a field1c
field2 field2a field2b
field3 field3a
field4 field4a field4b
field4 field4a field4c
field4 field4a field4d
field4 field4a field4e
field5 field5a
field6 field6a field6c
field6 field6a field6c
sono nuovo di programmazione in generale, ma googled intorno e penso che un possibile modo per farlo sarebbe quello di creare un array e in qualche modo esplodere il header3 coppia chiave-valore. Non sono sicuro di come fare per copiare i campi sotto header1 e header2 però.
Tutto quello che ho in questo momento è un po 'di codice per creare una matrice:
$mainarray = array();
foreach (file('test_tab.txt') as $row) {
list($header1, $header2, $header3) = explode("\t", $row);
$mainarray[] = array(header1 => $header1, header2 => $header2, header3 => $header3);
}
print_r($mainarray);
che dà:
Array
(
[0] => Array
(
[header1] => header1
[header2] => header2
[header3] => header3
)
[1] => Array
(
[header1] => field1
[header2] => field1a
[header3] => field1b; field1c
)
[2] => Array
(
[header1] => field2
[header2] => field2a
[header3] => field2b
)
[3] => Array
(
[header1] => field3
[header2] => field3a
[header3] =>
)
[4] => Array
(
[header1] => field4
[header2] => field4a
[header3] => field4b; field4c; field4d; field4e
)
[5] => Array
(
[header1] => field5
[header2] => field5a
[header3] =>
)
[6] => Array
(
[header1] => field6
[header2] => field6a
[header3] => field6b; field6c
)
)
Tutte le idee su come affrontare questo? Sto usando la versione 5.3.10 di PHP.
Utilizzare le funzioni PHP integrate [fgetcsv()] (http://www.php.net/manual/en/function.fgetcsv.php) e [fputcsv()] (http: //www.php .net/manual/it/function.fputcsv.php) per lavorare con file a valori separati; o anche [SPLFileObject] (http://www.php.net/manual/en/class.splfileobject.php) –