使用php在每行的末尾添加逗号

esa*_*wan 5 javascript php csv arrays comma

我有一个csv文件,每行有1个电子邮件ID.我想在每个电子邮件ID后添加逗号.我想使用php在每行的末尾添加一个逗号.我怎样才能做到这一点?那有什么特别的功能吗?

更新 我想要这个,以便我可以在javascript中构建一个数组.

我将使用php加载csv文件,然后在我的js中打印它.

喜欢

var myCars=[<?php print $csv; ?>]; 
Run Code Online (Sandbox Code Playgroud)

所以我实现了这样的事情.

var myCars=["Saab@gmail.com","Volvo@gmail.com","BMW@gmail.com"];
Run Code Online (Sandbox Code Playgroud)

或者有更好的方法吗?

sma*_*sey 5

$lines = file('file.csv');
foreach ( $lines as & $line ) {
    $line .= ',';
}
file_put_contents('file.new.csv', implode(PHP_EOL, $lines));
Run Code Online (Sandbox Code Playgroud)

这样的事应该做​​,欢呼


Eli*_*gem 2

为什么不使用 csv 特定的函数?

$old = fopen('file.csv','r');
$new = fopen('new.csv','w+');
while($line = fgetcsv($old))
{
    fputcsv($new,$line);
}
fclose($old);
fclose($new);
Run Code Online (Sandbox Code Playgroud)

上面的代码将逐行写入一个新的 csv,但如果您只想生成一个 javascript 数组,为什么不这样做:

$file = fopen ('file.csv','r');
$all = array();
while($line = fgetcsv($file))
{
    $all[] = $line[0];//if there is only 1 field/line
    $all = array_merge($all,$line);//if multiple
}
fclose($file);
$js_array = '["'.implode('",',$all).'"];';
//or, the way I'd advise against, but good for multi-dimensional, assoc arrays
echo 'var array = JSON.parse("'.json_encode($all).'");';
Run Code Online (Sandbox Code Playgroud)