我有機場代碼和城市名稱(大約3500行)的這個數組。將CSV轉換爲數組
code,city
"Abilene, TX ",ABI
"Adak Island, AK ",ADK
"Akiachak, AK ",KKI
"Akiak, AK ",AKI
"Akron/Canton, OH ",CAK
"Akuton, AK ",KQA
"Alakanuk, AK ",AUK
"Alamogordo, NM ",ALM
我需要將該文件轉換爲一個php數組。這是到目前爲止我的代碼:
if(($handle = fopen('test.csv', 'r')) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ',', '"')) !== FALSE) {
echo '<pre>';
print_r($data);
echo '</pre>';
}
fclose($handle);
}
雖然我設置的分隔符,enclousure個字符fgetcsv功能,即時得到這個結果:
Array
(
[0] => code
[1] => city
"Abilene
[2] => TX "
[3] => ABI
"Adak Island
[4] => AK "
[5] => ADK
"Akiachak
[6] => AK "
[7] => KKI
"Akiak
[8] => AK "
[9] => AKI
"Akron/Canton
[10] => OH "
[11] => CAK
"Akuton
[12] => AK "
[13] => KQA
"Alakanuk
[14] => AK "
[15] => AUK
"Alamogordo
[16] => NM "
[17] => ALM
)
你確定那些是'「'字符,而不是花哨的66年代和99的是MS愛灑到處 –
爲工程罰款?可能是你的'PHP_VERSION'中的一個錯誤(這是什麼?)或者嘗試'var_dump(array_map(「str_getcsv」,file($ fn)))' – mario
@StefanPantke:現在你提到它了。其中一條記錄不存在,所以這是沒有被識別的換行符,因此引號被錯誤地解釋了脹。 – mario