phpで配列をcsvに変換する関数、またはライブラリはありますか?


タイトルの通りなんですが、配列をうまい感じにCSVに変換する方法を教えてください。

関数を通すだけで必要な場合にであればダブルクオーテーションで閉じてくれたりするのが理想です。  
また、fputcsvのようなファイルを出力するタイプではなく、文字列として返してくれるものがよいです。

[code]

    [
    [1,"hoge","fuga","piyo\npiyo"],
    [2,"hoge","fuga","piyo\npiyo"],
    [3,"hoge","fuga","piyo\npiyo"]
    ];
    
    
    ↓
    
    1,hoge,fuga,"piyo\npiyo"
    2,hoge,fuga,"piyo\npiyo"
    3,hoge,fuga,"piyo\npiyo"
    
[/code]




未検証ですが`fputcsv`をメモリに出力すればできるようです。  
あとはファイルと同様にアクセスできます。

[code]

    $fp = fopen('php://memory', 'r+');
    
    foreach($csv_data as $line){
        fputcsv($fp, $line);
    }
    
    rewind($fp);
    
    while( !feof($fp) ) {
        print(fgets($fp, 1024));
    }
    
    fclose($fp);
    
[/code]

参考：[fputcsvの結果をファイルに書き込まず変数に格納する](http://blog.katanyan.com/763/)

