我想在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')
);
这就是我怀疑的原因
答案 0 :(得分:0)
最好的方法是处理文件打开和关闭外部
function doMyCode($args, $fileOpen ){
fputcsv($fileOpen, $args, ";");
}
$fileOpen = fopen('customers.csv', 'w');
foreach( $lines as $line ){
doMyCode($line , $fileOpen );
}
fclose($fileOpen);
我不打开函数内部的文件并在其他地方关闭它,在该函数内打开/关闭它或在外面打开/关闭它,否则它会变得太乱,它是否打开?它关闭了吗?谁知道......