【问题标题】:Read array and write to txt file读取数组并写入txt文件
【发布时间】:2013-08-04 03:27:14
【问题描述】:

我有一个这样的数组:

Array
(
    [0] => Array
       (
        [name] => post
        [fql_result_set] => Array
            (
                [0] => Array
                    (
                        [post_id] => value
                        [message] => value
                    )

                [1] => Array
                    (
                        [post_id] => value
                        [message] => value
                    )

       )
)

我想将数组写入文件,例如:

post_id = value;
message = value;

-----

post_id = value;
message = value;

我知道我可以使用:

    file_put_contents('file.txt', print_r($array[0], true));

但我需要进行“解析”……我该怎么做? 有人能帮助我吗? 对不起我的英语不好:(

【问题讨论】:

  • 这不是“解析”。那只是“遍历”数组结构。你需要一个foreach 循环,从$array[0]["fql_result_set"] 开始。
  • parsing 的意思是您希望将信息保存到parse 吗? post_id = value;message = value;
  • 我的意思是我需要在保存之前解析信息,以指定的形式..

标签: php arrays file


【解决方案1】:

你可以使用for:

<?php
$result = $data[0]['fql_result_set'];
$total = count($result);
for ($i=0; $i < $total; $i++)
{
    echo "post_id = ", $result[$i]['post_id'], "\n";
    echo "message = ", $result[$i]['message'], "\n";
    echo "------------------------\n";
}

foreach

$result = $data[0]['fql_result_set'];
foreach ($result as $outer)
{
    foreach ($outer as $key => $value)
    {
        echo $key, " = ", $value, "\n";
    }
    echo "------------------------\n";
}

Live DEMO.

通过将其附加到文件末尾来保存到文件:

$file = 'file.txt';
$result = $data[0]['fql_result_set'];
foreach ($result as $outer)
{
    foreach ($outer as $key => $value)
    {
        file_put_contents($file, "{$key} = {$value}\r\n", FILE_APPEND | LOCK_EX);
    }
    file_put_contents($file, "----\r\n", FILE_APPEND | LOCK_EX);
}

Append to the end of the file using FILE_APPEND and LOCK_EX flag to prevent anyone from accessing the file until we're done writing.

【讨论】:

  • 谢谢这个工作,但我在屏幕上打印回声,每行都写在一个文件中我需要做什么?每行的字符串连接?
  • @user2396911 取决于您是要用新数据覆盖文件还是要将数据附加到末尾?
  • 之前我总是删除文件并重新创建。但我想将每一行附加到新文件中。
  • 非常感谢,这可行 :) 另一件事:我需要将此数据插入 MySQL 数据库(而不是 php 服务器),您认为以这种格式导出到 .txt 是最好的方法是什么?有什么建议吗?谢谢。
  • @user2396911 这取决于您的情况,您不能直接从数组中执行它吗?
猜你喜欢
  • 2023-04-01
  • 2021-02-06
  • 2013-07-08
  • 2018-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多