Tôi có mảng này với mã sân bay và tên thành phố (khoảng 3500 dòng).Chuyển đổi CSV thành mảng
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
Tôi cần phải chuyển đổi tệp đó thành một mảng php. Đây là mã của tôi cho đến nay:
if(($handle = fopen('test.csv', 'r')) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ',', '"')) !== FALSE) {
echo '<pre>';
print_r($data);
echo '</pre>';
}
fclose($handle);
}
Mặc dù tôi đang thiết lập các ký tự dấu phân cách và enclousure cho hàm fgetcsv, im nhận này kết quả là:
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
)
Bạn có chắc chắn đó là những ' "' chars và không phải là ưa thích của 66 và 99 mà MS thích rắc khắp mọi nơi –
Tác phẩm tốt cho? Có lẽ là một lỗi trong 'PHP_VERSION' của bạn. (Nó là gì?) Hoặc thử' var_dump (array_map ("str_getcsv", file ($ fn))) '. – mario
@StefanPantke: Bây giờ bạn nhắc đến nó. một bản ghi ra khỏi nó.Vì vậy, đó là ngắt dòng không được công nhận, do đó các dấu ngoặc kép bị hiểu sai tốt thôi. – mario