2015-10-18 6 views
0

У меня есть этот код:fgetcsv избежать запятой в строке

if (($handle = fopen($url, 'r')) !== FALSE){ 
     while (($row = fgetcsv($handle, 1000)) !== FALSE){ 
      $test = explode(";", $row[0]); 
       $data[] = array(
       'item' => $test[0], 
       'description' => $test[1] 
       ); 
     } 
     fclose($handle); 
    } 

и это мой CSV:

200  pc thing, another 

но когда я print_r массив данных, описание это: шт вещь все, что находится за запятой, не существует. Почему это происходит? мой выпуск должен быть: шт. вещь, другой

Как я могу это решить?

+0

Почему вам нужно «взорваться» с использованием точки с запятой в качестве параметра? сделайте 'print_r ($ row)', чтобы увидеть, что у вас есть, и использовать массив '$ row' –

ответ

0

Я не знаю, почему вы пытаетесь взорвать (несуществующую) точку с запятой. Дайте этот код a go:

$data = file_get_contents($url); 
$rows = explode("\n",$data); 
$data = array(); 
foreach($rows as $row) { 
    $s = str_getcsv($row); 
    $data1['item']=> $s[0]; 
    $data1['description']=> $s[1]; 
    $data[]=$data1; 
}