看板 PHP 關於我們 聯絡資訊
今天在試的時候遇到的問題,所以我又寫了一個範例來測試,如下 $test[0]="1234567,abcde"; $test[1]="1234567890,aaaaa"; $test[2]="12345,aabbcc"; for($i=0;$i<3;$i++){ $str=$test[$i]; print $str."<br>"; $pos=strpos($test[$i],","); print $pos."<br>"; } 跑出來的結果 1234567,abcde 10 1234567890,aaaaa 10 12345,aabbcc 5 第一個答案是錯的,當有一大筆資料時,第一筆都會錯,但後面的都會對 請問是為什麼呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.128.68
thitbbeb:我直接copy你的這片段程式碼,三個結果都是對的耶@@ 03/01 23:56
tyc5116:@@剛試了一下,什麼都沒改,結果又對了@@ 03/02 00:09
tyc5116:反正從csv讀進來的資料,一樣,第一筆結果會是錯的 03/02 00:09
tyc5116:如果csv的資料第一行空白,結果都是對的,好奇怪 03/02 00:10
chrisQQ:第一筆前面可能有BOM,你用 hex editor 打開來看就知道了 03/02 00:32
chrisQQ:或是有其他神秘的 header 在那 03/02 00:33
tyc5116:看了一下,真的有沒錯,可是我該怎麼避免掉這個情況 03/02 07:55
tyc5116:主要是php,mysql,excel間的處理excel的資料要寫入mysql 03/02 07:56
tyc5116:先不考慮板上說的phpexcel好了,因為我的表格並不複雜XD 03/02 07:57
tyf99:第一行空下來? 03/02 08:07
mervynW:trim試試看 03/02 10:18
chrisQQ:如果不能 trim 掉,那就直接把檔案開頭略過 3bytes 在處理 03/02 16:31
chrisQQ:就好,看起來是固定的。 03/02 16:31