2016-04-28 7 views
1

Ich möchte csv-like Zeichenfolge analysieren, so dass ich csv emulieren und es in einem Testfall geltend machen kann.php: // Speicher IO-Stream und fgetcsv()

// init CSV-like string 
$str = <<<EOD 
    1,john\r\n 
    2,smith\r\n 
EOD; 

// Open file Handler, puts the CSV-like string, rewind the file pointer 
$fp = fopen('php://memory','r+'); 
fputs($fp,$str); 
rewind($fp); 

// Parse the CSV-like string 
$parsed = []; 
while (($data = fgetcsv($fp, 2048)) !== FALSE) { 
    $parsed[] = fgetcsv($fp); 
} 

var_dump($parsed); 

Aber es wird nicht in Arrays analysieren. Dies ist die Ausgabe:

array (size=2) 
    0 => 
    array (size=1) 
     0 => null 
    1 => boolean false 

Antwort

1
  1. Entfernen Sie die \r\n, benötigt nicht
  2. Ihr den Zeiger zweimal pro Schleife bewegen, wechseln Sie in $parsed[] = $data