PHP奇怪的“空间”

时间:2014-01-07 19:19:40

标签: php csv removing-whitespace

我在导入csv文件时遇到问题... 以下代码给出了类似这样的内容:

array(3) { [0]=> string(1) "" [1]=> string(23) "Entfernung " [2]=> string(19) "1.3042 km" } 

如您所见,字符数与真实字符不匹配(“Entfernung”没有23个字符......)

更深入的研究表明,不知何故,每个角色之后都会出现“隐形”空格(比如“E n t f e r n u g g”)......

我如何摆脱这种/或阻止它?

代码($ files =包含文件名的数组):

 for ($i=0; $i < count($files); $i++) {
    $handle = fopen($files[$i], "r"); 
        while ($proc_file = fgetcsv($handle,0,",",";")) { 
        var_dump ($proc_file); 
    echo "<br>"; 
}

拆分例如“Entfernung”(= $ proc_file [1]):

$test = $proc_file[1]; 
        for ($a=0; $a < strlen($test); $a++) {
            echo $test[$a]."-";             
        }

给了我

-E--n--t--f--e--r--n--u--n--g-- --

1 个答案:

答案 0 :(得分:0)

您可能需要遍历fgetcsv返回的索引数组并清除所有空格

for ($i=0; $i < count($files); $i++) {
    $handle = fopen($files[$i], "r"); 
    while ($proc_file = fgetcsv($handle,0,",",";")) { 
        for($proc_file as $key => $val) {
            $proc_file[$key] = preg_replace('/\s+/', '', $val);
        }
    }
}