作者layachang (這樣笑著很開心!!)
看板PHP
標題Re: [請益] 輸出csv檔
時間Fri Nov 24 14:08:29 2006
我用了一個很爛的方法Q_Q 不過好像是可以work 但是會有一個小小的bug
$row['a'] = "SN";
$row['b'] = "Laya";
$row['c'] = "CSV,測試";
foreach ($row as $key => $value)
{
if(strpos($value,",")!=0)
{
$row[$key] = '"'.$value.'"';
}
}
$con = $row['a'].','.$row['b'].','.$row['c'];
$con.="\n";
echo $con;
說穿了就是用穿插'及"兩種符號
但是以上的方法如果$row['c']逗號再第一個的話就會不work了
我有試過 strpos($value,",")!==0 [使用絕對不等於]
可是他這樣會把全部都加上"" (如果你不介意的話乾脆全部都加上""好了 XD)
話說回來使用!==為什麼他三個都判斷成有,在資料中 我就不知道了
盼有人解答嚕Q口Q
--
淡而無味, 可是芬芳, 就當它是酒罷......
沒有酒的時候, 到河邊去捧飲自己的影子......
沒有嘴的時候, 用傷口呼吸....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.124.100.15
1F:推 bull975:把 strpos($value,",")!=0 改成 11/24 14:15
2F:→ bull975:gettype(strpos($value,",")) != 'boolean' 試試 11/24 14:16
3F:推 layachang:可以勒( ̄▽ ̄#)﹏﹏ 謝啦謝啦~! 11/24 14:17
4F:→ bull975:你看一下strpos不同情況下回傳的值吧 11/24 14:24
5F:推 LPH66:正確說來是要用strpos($value,",")!==FALSE 11/24 16:44
7F:→ LPH66:!== 和 === 兩個比較會把型態也比較進去 11/24 16:47