警告:implode()[<a href="function.implode">function.implode</a>]:在第71行的C:\ wamp \ www \ test.php中传递的参数无效

时间:2013-02-08 07:02:18

标签: arguments warnings implode

我尝试使用以下代码将csv文件转换为tsv。

在我的csv中,第一个单词没有任何价值。 当我运行代码时,它正确生成tsv文件,但它给出了上述错误。请帮忙

谢谢

$myfile = "file path"; 
function convert($filename) 
{
if(@$fh_in = fopen("{$filename}.csv","r")) 
{
$fh_out = fopen("{$filename}.tsv","a"); 

while(!feof($fh_in))
{
$line = array();
$line = fgetcsv($fh_in,1024);
fwrite($fh_out,implode("\t",$line)."\n"); 
}

fclose($fh_in);
fclose($fh_out);

}
else { 
echo "File doesn’t exist\n";
return false;
}
echo "Conversion completed!\n";
return true; 
}
convert($myfile);

1 个答案:

答案 0 :(得分:0)

根据PHP Manual,内爆可以是

string implode ( string $glue , array $pieces )
string implode ( array $pieces )

所以在你的情况下,如果$line为空,那么它将使用第二个原型执行并将\n视为$ pieces,这是错误的。因此,在调用implode之前检查$line中的值