首页 > 解决方案 > PHP在将文本写入文件时防止额外的空行

问题描述

我有一个关于 foreach() 循环和将数组写入其中的文本文件的小问题。该循环为我提供了我想要的文件格式,但它还在文件末尾添加了一个不需要的空行(正如我被告知的那样)。

这是我的一段代码:

foreach($data_arr as $data => $input)
{ fwrite($fh, $data . ":" . $input . "\n") or die("something went wrong here"); }

有没有办法防止这种情况发生并且在到达数组末尾时不添加 \n ?

标签: phparraystextline

解决方案


只需检查当前索引是否是最后一个,然后最终将“\n”添加到字符串中

$last_index = count($data_arr)-1;

foreach ($data_arr as $data => $input)
{ 
    $string = $data . ":" . $input;
    if ($data != $last_index) 
    {
        $string .= "\n";
    }
    
    fwrite($fh, $string) or die("something went wrong here"); 
}

推荐阅读