2016-03-26 7 views
0

Есть ли способ поместить php-массив в файл csv, который вводит каждый элемент массива в виде новой строки? Это то, что у меня есть:Экспортировать php-массив в строки csv вместо столбцов

$list = array (
     array('names'), 
     array('bob,bill,john,sally')); 

    $fp = fopen('files.csv', 'w'); 

    foreach ($list as $fields) { 
     fputcsv($fp, $fields); 
    } 

    fclose($fp); 

Мой CSV выглядит следующим образом:

names 
bob,bill,john,sally 

Однако это то, что я ищу:

names 
bob 
bill 
john 
sally 
+2

То, что вы описываете, это не csv (значения, разделенные запятой). Вы должны просто перебрать массивы, добавить имена в строку (с новыми символами), а затем сохранить эту строку в файле (так что вы не сохраняете файл 100 раз) – JimL

+0

@ JimL ok имеет большой смысл. Я делаю некоторые вещи с файлом в Powershell, который я новичок, и я могу легко импортировать csv с ним в желаемом формате. Должно быть довольно просто сохранить каждый элемент в новой строке. –

+0

Является ли это опечаткой в ​​вашем объявлении '$ list' или вам не хватает') '? Также звучит так, как будто вы смогли решить проблему? – Rizier123

ответ

0

Это был просто вопрос об использовании fwrite() вместо fputcsv()

$list = array (
     array('names'), 
     array('bob,bill,john,sally')); 

    $fp = fopen('files.csv', 'w'); 

    foreach ($list as $fields) { 
     fwrite($fp, $fields.PHP_EOL); 
    } 

    fclose($fp);