这是我的PHP
$val = "";
foreach($data as $v){
$val .= '"' . $v . "\n" . '"';
}
结果是
//this is inside of cell
sample
"sample
"sample
这是正确的,但我无法弄清楚如何删除"sample
中的双引号。只有第一个值没有双引号,其余的将有双引号。
修改
这是我的代码
的结果这就是我想要的
答案 0 :(得分:1)
只需删除部分代码,您就可以获得解决方案:
$val = "";
foreach($data as $v){
$val .= $v . "\n";
}
试试(在excel中维护换行符):
$val = "";
foreach($data as $v){
$val .= $v . "<br style='mso-data-placement:same-cell;' />";
}
答案 1 :(得分:0)
这样的事情应该可以解决问题
$i = 0
foreach($data as $v){
$val .= '"' . $v . "\n" . (count($data) !== $i) ? '"' : '';
$i++;
}
答案 2 :(得分:0)
我认为你可以像这样使用php函数trim
:
$val = "";
foreach($data as $v){
if( ''==$val) {
$val .= trim('"' . $v . "\n" . '"','"');
}else{
$val .= '"' . $v . "\n" . '"','"';
}
}
答案 3 :(得分:0)
$val .= '"' . $v . "</br>" . '"';
$val=str_replace('"','',$val);
我认为这就是你在循环中寻找的东西。它将删除每个双引号。
答案 4 :(得分:0)
那你去吧
$data = ['sample','sample','sample'];
$val = "";
foreach($data as $v){
$val .= $v . "\n" ;
}
然后您只需使用fputcsv(),就像这样:
$fp = fopen('file.csv', 'w');
fputcsv($fp, [$val]);
你得到了你想要的结果:
答案 5 :(得分:0)
我的问题的答案是
$val = "";
foreach($data as $v){
$val .= $v . "\n";
}
$val = '"'. $val .'"';
我需要在循环之外添加'"'
。