fgetcsv(resource fp,int length [, string delimiter , string enclosure, escape]])
請把紅色的部分解釋一下。寫個例子。
綠色是幹什麼的
回複討論(解決方案)
array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]]] )
和 fgets() 類似,只除了 fgetcsv() 解析讀入的行並找出 CSV 格式的欄位然後返回一個包含這些欄位的數組。
參數 ¶
handle
一個由 fopen()、 popen() 或 fsockopen() 產生的有效檔案指標。
length
必須大於 CVS 檔案內最長的一行。在 PHP 5 中該參數是可選的。如果忽略(在 PHP 5.0.4 以後的版本中設為 0)該參數的話,那麼長度就沒有限制,不過可能會影響執行效率。
delimiter
設定欄位分界符(只允許一個字元)。
enclosure
設定欄位環繞符(只允許一個字元)。
escape
設定逸出字元(只允許一個字元),預設是一個反斜線。
PHP fgetcsv() 函數
array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]]] )
和 fgets() 類似,只除了 fgetcsv() 解析讀入的行並找出 CSV 格式的欄位然後返回一個包含這些欄位的數組。
參數 ¶
handle
一個由 fopen()、 popen() 或 fsockopen() 產生的有效檔案指標。
length
必須大於 CVS 檔案內最長的一行。在 PHP 5 中該參數是可選的。如果忽略(在 PHP 5.0.4 以後的版本中設為 0)該參數的話,那麼長度就沒有限制,不過可能會影響執行效率。
delimiter
設定欄位分界符(只允許一個字元)。
enclosure
設定欄位環繞符(只允許一個字元)。
escape
設定逸出字元(只允許一個字元),預設是一個反斜線。
我想知道enclosure,escape參數怎麼用。給個例子。
$s =<<< TXTaaa,bbb,ccc"aaa","bbb","ccc"'aaa'|'bbb'|'ccc'TXT;file_put_contents('csv_test.txt', $s);$fp = fopen('csv_test.txt', 'r');print_r(fgetcsv($fp));print_r(fgetcsv($fp));print_r(fgetcsv($fp, "|", "'"));Array
(
[0] => aaa
[1] => bbb
[2] => ccc
)
Array
(
[0] => aaa
[1] => bbb
[2] => ccc
)
Array
(
[0] =>
[1] => aaa
[2] => |
[3] => bbb
[4] => |
[5] => ccc
[6] =>
)