【问题标题】:Write contents of each php array on a new line in a text file在文本文件的新行中写入每个 php 数组的内容
【发布时间】:2014-03-11 08:42:11
【问题描述】:

我使用了一个 while 循环从数据库中获取行并将它们收集到一个数组中。

现在我想要实现的是,在这个循环的每次迭代中,数组的元素都应该写在文本文件的新行上

我已经尝试过implode,但它不起作用。我可能以完全错误的方式使用它。 这是我的代码:

$query = "SELECT hist FROM loch ;";
$result = mysql_query($query) or die(mysql_error());

$file = "/opt/lampp/htdocs/rrugd/ip.txt";
fopen($file,'a');

$output=array();
while($row=mysql_fetch_row($result))
{

        $instr1 = implode("\n", $row);
        file_put_contents($file, $instr1, FILE_APPEND | LOCK_EX);   
}

我希望输出看起来像这样 -

1 2 10 5
1 2 10

但我得到的是这个 -

1 2 10 51 2 10

我哪里出错了?

【问题讨论】:

    标签: php mysql arrays newline implode


    【解决方案1】:

    使用PHP_EOL 添加新行,如下所示:

    file_put_contents($file, $instr1 . PHP_EOL, FILE_APPEND | LOCK_EX);   
    

    【讨论】:

    • 如果你愿意,你也可以在你的 implode 之后连接一个新的换行符。我喜欢像PHP_EOL 这样的专用常量的冗长,但有时使用\n 更合理一点,例如$instr1."\n",尤其是当您必须在语句中放置多个换行符时。
    猜你喜欢
    • 2021-03-11
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    • 2012-10-12
    • 2013-01-02
    相关资源
    最近更新 更多