你能逐行写一个PHP变量吗?

时间:2017-08-31 18:25:10

标签: php mysql variables

我有一个脚本,可以根据用户表单输入生成Javascript。目前代码输出到服务器上的txt文件,但我想把它放到MySql数据库中。

使用fopen逐行写入txt文件非常容易,并且由于代码生成和包装用户输入(各种循环等)的方式,我的脚本很有帮助。

但是,我真的想将输出写入变量,然后将其发送到数据库。但是,我看不出有任何方法可以实现这个目标吗?

我确信这是可能的,但我在网上找到的信息仅涉及非常基本的变量创建。

一个肮脏的解决方案是按照我目前的方式写入txt文件,然后将文本文件加载到变量中,然后删除文本文件。但这似乎很愚蠢,显然浪费了处理时间。

对于Php来说很新,如果上述内容显得愚蠢,那就很抱歉。

1 个答案:

答案 0 :(得分:1)

这不是太难,您可以使用第一行声明变量,然后逐步写入变量,并使用\n转义序列(表示新行)分隔每一行。您可以使用插入的PHP_EOL内置大小进行评论。 =`赋值运算符将操作符后面的字符串附加到操作之前的变量值。

$lines = "my first line";
while (condition) {
    $lines .= PHP_EOL . "my next line";
}

这样做的一种衍生方式是在循环中插入所有行,并从声明一个空字符串开始。

$lines = "";
while (condition) {
    $lines .= "my next line" . PHP_EOL;
}

请注意,此方法会在末尾添加一个空换行符,您可以根据需要进行修剪。

或者,另一种方法是创建一个数组,推送到它,然后使用implode函数将数组粘合到一个使用换行符的字符串中。

$lines = array();
while (condition) {
    array_push($lines, "my next line");
}
$lines = implode(PHP_EOL, $lines);