7

我无法在新行中将数组写入文本文件。我的代码:

echo '<pre>';
print_r($final_result);
echo '</pre>';

输出

Array

(
    [0] => Something1
    [1] => Something2
    [2] => Something3
)

然后

file_put_contents($file, trim($final_result . "\n"), FILE_APPEND);

输出

Something1Something2Something3Array

我的目标是

Something1
Something2
Something3

有任何想法吗?:)

4

3 回答 3

17

怎么样

file_put_contents($file, implode(PHP_EOL, $final_result), FILE_APPEND);
于 2013-09-26T00:06:40.157 回答
2

不同的平台使用不同的换行符。为了克服这个问题,php 提供了内置常量来处理所有这些问题:PHP_EOL

于 2014-02-26T08:07:06.757 回答
1

您的数组应该以这种方式在每个值之后插入一个新行

Array
  (
    [0] => Something1\n
    [1] => Something2\n
    [2] => Something3\n
  )

这样做:

file_put_contents($file, trim($final_result . "\n"), FILE_APPEND);

您在完整数组之后插入新行

正如@NielsKeurentjes 所说,您必须查看您在哪个平台上编写文件:

\r = CR (Carriage Return) // 在 Unix 中用作换行符

\n = LF (Line Feed) // 在 Mac OS 中用作换行符

\r\n = CR + LF // 在 Windows 中用作换行符

于 2013-09-26T00:04:43.320 回答