fgetcsv() 函數從檔案指標讀入一行並解析 CSV 欄位。
與 fgets() 類似,不同的是 fgetcsv() 解析讀入的行並找出 CSV 格式的字段,然後傳回一個包含這些字段的數組。
fgetcsv() 出錯時傳回 FALSE,包括碰到檔案結束時。
註解:從 PHP 4.3.5 起,fgetcsv() 的操作是二進位安全的。
語法
fgetcsv(file,length,separator,enclosure)
#參數 | 描述 |
---|---|
必要。規定要檢查的文件。 | |
#可選。規定行的最大長度。必須大於 CVS 文件內最長的一行。 在 PHP 5 中該參數是可選的。在 PHP 5 之前是必需的。 如果忽略(在 PHP 5.0.4 以後的版本中設為 0)該參數的話,那麼長度就沒有限制,不過可能會影響執行效率。 | |
#可選。設定字段分界符(只允許一個字元),預設值為逗號。 | |
#可選。設定欄位環繞符(只允許一個字元),預設值為雙引號。 此參數是在 PHP 4.3.0 中新增的。 |
欄位內部的引號必須在其前面增加一個引號來實現引號的轉碼。
分隔符號逗號前後的空格 可能不會被修剪掉。
元素中的換行符號將會保留下來。
##goog # 我想用fgetscv()把它讀出來並存到array去,就必須對csv檔案中儲存的格式進行限定。
csv儲存的內容有l兩種情況:
(1)情況一,直接是goog,veture"vision,good",abc
這樣你會發現get出來的不是你想要的東西。其array輸出為
Array ( [0] => goog [1] => vetur"evision [2] => good" [3] => abc )
# (2)情況二,csv裡的內容是goog,"veture""vision,good""",abc
這是根據上面的說明對原有內容進行修改過的。加上了圍繞著字元雙引號。
其array輸出是我們想要的
Array ( [0] => goog [1] => veture"vision,good" [2] => abc )
對於上面說明的一些補充,若字段內含有逗號,僅需將該字段用雙引號括住即可,無需再在逗號前面加雙引號。
以上是php fgetcsv() 函數語法參數enclosure詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!