0
有人可能會解釋我的區別 - 以及如何識別或更改格式?PHP CSV上傳UTF-8(帶和不帶BOM)
我有一個簡單的HTML上傳表單,上傳後我用fgetcsv()解析文件內容。解析後,我已經這樣
array(2) {
[0]=>
array(9) {
["OrderId"]=>
string(13) "FG-456887"
["Product"]=>
string(7) "B9876"
}
[1]=>
array(9) {
["OrderId"]=>
string(13) "FG-852562"
["Product"]=>
string(7) "B9877"
}
}
的var_dump()的數組顯示我(顯然)完全相同的轉儲,使用時有或沒有BOM的文件,但是當我做一個簡單的循環,在這個陣列,並檢查OrderId(CSV中的第一個字段)爲空 - 當CSV編碼沒有BOM時,這總是失敗。當我保存與BOM相同的文件 - 一切工作正常。
foreach ($data as $position) {
$orderid = $position["OrderId"];
if (empty($orderid)) die('No orderid found');
}
它只是第一個字段 - 其他字段都可以。