<?php
ini_set('auto_detect_line_endings', TRUE);
$csv = array_map('str_getcsv', file('Testcsv.csv'));
print_r($csv);
Этот код анализирует файл Testcsv.csv, который выглядит следующим образом ..
4,5,6,7,8
9,10,11,12,13
0,1,3,2,15
Однако последний оператор печати возвращает
Array
(
[0] => Array
(
[0] => 4
[1] => 5
[2] => 6
[3] => 7
[4] => 8
)
[1] => Array
(
[0] => 9
[1] => 10
[2] => 11
[3] => 12
[4] => 13
)
[2] => Array
(
[0] => 0
[1] => 1
[2] => 3
[3] => 2
[4] => 15
)
)
vardump ($ csv) производит
array(3) {
[0]=>
array(5) {
[0]=>
string(4) " 4"
[1]=>
string(1) "5"
[2]=>
string(1) "6"
[3]=>
string(1) "7"
[4]=>
string(1) "8"
}
[1]=>
array(5) {
[0]=>
string(1) "9"
[1]=>
string(2) "10"
[2]=>
string(2) "11"
[3]=>
string(2) "12"
[4]=>
string(2) "13"
}
[2]=>
array(5) {
[0]=>
string(1) "0"
[1]=>
string(1) "1"
[2]=>
string(1) "3"
[3]=>
string(1) "2"
[4]=>
string(2) "15"
}
}
Независимо от того, что я делаю или как я форматирую CSV, первое значение всегда получает пустой пробел перед ним.В данном случае «4» вместо «4».Я не могу понять почему.Я нахожусь на компьютере Mac, и без первой строки кода все становится по-настоящему шатким, так как он не обнаруживает разрывы строк.Я создал и сохранил .csv в Excel.Любое понимание помогает, спасибо.