1

私はこのような配列を持っています:

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));

しかし、「解析」を行う必要があります...どうすればこれを行うことができますか? 誰か助けてくれませんか?私の悪い英語でごめんなさい:(

4

1 に答える 1

0

を使用できます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";
}

ライブデモ。

最後に追加してファイルに保存します。

$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);
}

FILE_APPEND と LOCK_EX フラグを使用してファイルの末尾に追加し、書き込みが完了するまで誰もファイルにアクセスできないようにします。

于 2013-08-04T03:40:12.680 に答える