PHP文件输出,提要中的随机空格

时间:2018-07-03 13:16:46

标签: php

以下功能应该读取文件,递增然后将以下内容输出到文件到文本文档:

function updateDaysAway($tenantName, $datefrom, $dateto){
    $names = array();
    $days = array();
    $file = fopen("data/daysaway.txt", 'a+');

    while (!feof($file)) {
        $data = fgets($file);
        if(!$data == '') {
            $pieces = explode(" ", $data);
            $names[] = $pieces[0];
            $days[] = $pieces[1];
        }
    }

    fclose($file);

    for($x = 0; $x < count($names); $x++) {
        if(strtolower($names[$x]) == strtolower($tenantName)){
            $datefromVAR = new DateTime($datefrom);
            $datetoVAR = new DateTime($dateto);
            $file = fopen("data/range.txt", 'a+');
            $days[$x] +=  $datetoVAR->diff($datefromVAR)->format('%a')+1;
        }
    }

    $file = fopen("data/daysaway.txt", 'w');

    for($x = 0; $x < count($names); $x++) {
        $entry = $names[$x]." ".$days[$x].PHP_EOL;
        fwrite($file, $entry);
    }

    fclose($file);
}

原始文件

"
name 185
name 0
"

归档后

"
name 185
name 0




 // Random white space I don't want



"

相反,它以增量方式输出(似乎在每次写操作后都会增加),在行尾并在其间随机产生一个空格和“”。您是否有解决方法的任何信息?

1 个答案:

答案 0 :(得分:1)

发现了问题

    $pieces = explode(" ", $data);
    $names[] = $pieces[0];
    $days[] = $pieces[1];

当将文件读入数组时,days参数(爆炸的一侧)包括不可见的换行符。上帝,我讨厌PHP!