У меня есть этот массив с кодами аэропортов и названиями городов (около 3500 строк).
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);
}
Хотя я устанавливаю символы разделителя и включения для функции 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 любит разбрасывать повсюду? - person Marc B   schedule 21.09.2011PHP_VERSION
. (Что это такое?) Или попробуйтеvar_dump(array_map("str_getcsv", file($fn)))
. - person mario   schedule 21.09.2011auto_detect_line_endings
- person mario   schedule 21.09.20111
- это просто результатprint_r()
, который записываетсяecho
после print_r, который сам уже выбросил свой вывод. (Почему его также нет в предварительных тегах.) - person mario   schedule 21.09.2011