PHP变量输入/输出一个函数

时间:2017-06-28 08:16:47

标签: php

我想在csv中写入数据。

为此,我调用一个函数来填充它。 我不知道如何在函数外部调用变量(没有全局)所以我在其中打开文件,但我需要在外面关闭它,我不能拥有我的$ fileOpen变量:

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

那么,我该怎么做?有礼貌的,我不想放一个looper的柜台(如$i

更新

对该功能的调用是在Magento中,它与array_map()类似,但在这种形式下,我不知道如何发送另一个参数或返回任何内容:

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

这就是我怀疑的原因

1 个答案:

答案 0 :(得分:0)

最好的方法是处理文件打开和关闭外部

function doMyCode($args, $fileOpen ){
  fputcsv($fileOpen, $args, ";");
}

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

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

fclose($fileOpen);

我不打开函数内部的文件并在其他地方关闭它,在该函数内打开/关闭它或在外面打开/关闭它,否则它会变得太乱,它是否打开?它关闭了吗?谁知道......