csv-Datei auslesen

Arndtinho

Erfahrenes Mitglied
Hallo,

ich möchte gern den Inhalt einer csv-Datei auslesen.
Code:
max;mustermann;val1|val2|val3#val4|val5|val6
Dabei sollen
Code:
val1|val2|val3
und
Code:
val4|val5|val6
in ein Array geschrieben werden, das folgenden Aufbau hat:
Code:
Array(
   '1' => array(
      '1' => 'val1';
      '2' => 'val2';
      '3' => 'val3';
   ),
   '2' => array(
      '1' => 'val4';
      '2' => 'val5';
      '3' => 'val6';
   )
)
Hat jemand eine Idee, wie man das lösen kann?

Gruß
Arndtinho
 
Bitteschön:
PHP:
<pre>
<?php
$fh = fopen('user.csv', 'r'); // user.csv = deine Datei, Aufbau so wie du oben angegeben hast.
while($line = fgetcsv($fh, 1024, ';'))
{
  echo $line[0] . $line[1] . "\n\r";
  $array = explode('#', $line[2]);
  foreach ($array as &$data)
  {    
    $data = explode('|', $data);
  }
  print_r($array);
}
?>
</pre>
 
Hallo mAu,

Deine Lösung sieht eleganter aus als meine, werde sie mal testen.
PHP:
$aData = file( "test.csv" );

// alle Felder auslesen
for( $i=0; $i < count( $aData ); $i++ ) {
	$aReqFields[$i] = explode( ";", $aData[$i] );
}

// Array fuer InvoicePositionen erstellen
foreach( $aReqFields as $aRow ) {
	$sTmp = $aRow[2];
}

$aTmp = explode( "#", $sTmp );

for( $i=0; $i < count( $aTmp ); $i++ ) {
   $aPos[$i] = explode( "|", $aTmp[$i] );     
}
Gruß
Arndtinho
 
Zurück