用PHP读取时CSV的第一个值的多余空间

时间:2018-09-13 17:43:30

标签: php csv multidimensional-array

<?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中。任何见解都会有所帮助,谢谢。

0 个答案:

没有答案