2017-03-16 10 views
0

電子メールアドレスを使用してCSVファイルを作成しようとしています。 fputcsvとI出力PHPの配列を出力する配列、私は誰かが役立つことを願っ配列PHP fputcsvが返されています:配列内のデータの代わりに "配列、配列"

内のデータの代わりに配列..

あるとき、私は始まるすべての行を削除しようとしています次いで、ヘッダ( しかしと同じ出力が画面に来る

コード:配列ののvar_dumpの

header('Content-Description: File Transfer'); 
header('Content-Type: text/csv'); 
header('Content-Disposition: attachment; filename=emails.csv'); 
header('Content-Transfer-Encoding: binary'); 
header('Expires: 0'); 
header('Cache-Control: must-revalidate'); 
header('Pragma: public'); 
$out = fopen('php://output', 'w'); 
fputcsv($out, array(
    array('email', 'aantal keer ingevuld'), 
    array('[email protected]', '8') 
    ) 
); 
fclose($out); 
exit; 

出力:

array(2) { [0]=> array(2) { [0]=> string(5) "email" [1]=> string(20) "aantal keer ingevuld" } [1]=> array(2) { [0]=> string(24) "[email protected]" [1]=> string(1) "8" } } 

csvファイルの出力:

Array,Array 

問題 fputcsvは一度に1つのアレイを置く解決。 多次元配列を持つループを使用する必要があります。

ありがとうございました!

+2

fputcsv()は、単純な配列から一度に1行ずつ書き込みます。 1回の呼び出しでファイル全体ではなく、多次元のアライから –

答えて

4

別々に配列のフィールドを配置する必要があります。このように:

$list = array(
    array('email', 'aantal keer ingevuld'), 
    array('[email protected]', '8') 
) 

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

詳細については、fputcsv()のドキュメントを参照してください。

+1

8分でアンサーを受け入れることができます。これはうまくいきました。 –

関連する問題