2017-06-28 15 views
-1

私はcsvでデータを書きたいと思っています。PHP変数の入出力機能

私はそれを記入する関数を呼び出します。 私は(グローバルなし)関数の外で変数を呼び出す方法がわからないので、私はそれでファイルを開くが、私は外にそれを閉じる必要があり、そして私は私の$ FILEOPEN変数を持つことはできません。

function doMyCode($args) 
{ 
    if (!isset($firstLoop)){ 
    $fileOpen = fopen('customers.csv', 'w'); 
    $firstLoop = true; 
    } 
[...] 
    fputcsv($fileOpen, $rowData, ";"); 
} 
fclose($fileOpen); 

どうすればいいですか?良いマナーで、私は($iのように)1つのルーパーのカウンターを入れたくない

UPDATE

関数の呼び出しは、Magentoのであるそれはarray_map()ようなものだが、この形で、私は知りませんどのように別のパラメータを送信したり、何かを返すために:

Mage::getSingleton('core/resource_iterator')->walk(
    $theList->getSelect()->limit(10), 
    array('exportClient') 
); 

これは私がこの疑問

+0

変数をパラメータとして関数 –

+0

に追加することができます。ファイルハンドルを渡して、 'function doMyCode($ args、$ fileOpen){...} ' – ArtisticPhoenix

+1

これは少し抽象的です...あなたは関数から値を返すことができることを知っています...?なぜファイルを外部に閉じなければならないのですか? – deceze

答えて

0

外のファイルを開くと、CLOSEするに対処することです最善の方法を持っている理由であります
function doMyCode($args, $fileOpen){ 
    fputcsv($fileOpen, $args, ";"); 
} 

$fileOpen = fopen('customers.csv', 'w'); 

foreach($lines as $line){ 
    doMyCode($line , $fileOpen); 
} 

fclose($fileOpen); 

私は関数内でファイルを開いたり閉じたりしませんでした。その関数内でファイルを開いたり閉じたりしませんでした。そうでなければ、あまりにも面倒です。それは閉じられていますか?誰でも知っている....

関連する問題