作者taikobo (有比扯铃扯吗?)
看板PHP
标题Re: [请益] 「许功盖」在fgetcsv出现的问题
时间Sat Jun 23 11:00:04 2007
感谢LPH66兄的指教^^
小改写了一下程式:
<?php
$fd = fopen ("test.csv","r");
rewind($fd);
$tt_array = jrh_fgetcsv($fd,2000,",");
$num = count($tt_array); //取得阵列大小
for($i=1;$i<$num;$i++){
echo $tt_array[$i][0]."<br>"; //取得姓名
echo $tt_array[$i][1]."<br>"; //取得地址
echo $tt_array[$i][2]."<br>"; //取得电话
echo "<p>";
}
function jrh_fgetcsv($fd,$size,$com){
if(!$fd) return 0;
$tt=array();
$k=0;
while($tt_str = fgets($fd, $size)){
$tt_arr[$k] = explode($com,$tt_str);
$count = count($tt_arr[$k]);
for($i=0;$i<$count;$i++){
preg_match('/^\"(.*)\"$/', $tt_arr[$k][$i],$matches[$k][$i]);
if(isset($matches[$k][$i][1])){
$tt[$k][$i] = $matches[$k][$i][1];
}else{
$tt[$k][$i] = $tt_arr[$k][$i];
}
}
$k++;
}
return $tt ;
}
?>
已经成功达到我的需求了!
不过这样只是echo的出来而已,要丢到资料库处理还面临一个问题
$tt_array[$i][0] 必须加上大括号,才能进行新增/修改 的动作
如果没有经过这一层处理
$tt_array[$i][0] 会变成
Array[0]
另外有人知道 '/^\"(.*)\"$/' 应该怎麽解释吗?^^|||
或是关於正规表示式有什麽相关网站可供参考的呢?再次感谢^^
--
白眉.鹫羽:
如果大人的世界这麽复杂,
那我还宁愿永远当个小孩子比较好...
~取自.天地无用!魉皇鬼第八话~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.220.232.211
1F:推 foxzgerald:可以参考 2607 :) 06/23 12:47
※ 编辑: taikobo 来自: 61.220.232.211 (06/23 16:53)