0

ファイルから両方のチャネルの現在と日付を抽出できるように、PHP デコードを使用して以下の JSON 文字列を配列に解析しようとしました。

私のjsonファイルowl_output.jsonは次のようになります..

{"channels":{"0":[{"current":1288,"units":"w"},{"day":31278.57,"units":"wh"}],"1":    [{"current":660,"units":"w"},{"day":9191.11,"units":"wh"}]}}

私はこれまでに1つの結果しか表示されていません.phpコードは以下のとおりです。

<?php
$string = file_get_contents('owl_output.json');
$data = json_decode($string,true);
print_r($json);
foreach ($data['channels']['0'] as $data)
{
    echo $data ['current'];
}
?>

これはチャネル 0 の電流のみを表示します。フィールドを追加しようとしても表示されません

echo $data ['current']['day']; (動作しません)

チャネル 0 と 1 の両方で現在と日付を表示する方法を教えてもらえますか?

私の目的は、これを最後にhtmlページに表示し、jsonファイルをポーリングし続けることですか?

表示される配列は以下のとおりです

Array
(
    [channels] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [current] => 1288
                            [units] => w
                        )

                    [1] => Array
                        (
                            [day] => 31278.57
                            [units] => wh
                        )

                )

            [1] => Array
                (
                    [0] => Array
                        (
                            [current] => 660
                            [units] => w
                        )

                    [1] => Array
                        (
                            [day] => 9191.11
                            [units] => wh
                        )

                )

        )

)

誰でもこれについて何か支援を提供できますか?

ありがとう

4

3 に答える 3

0
foreach ($data['channels'] as $chanel)
{
    echo $chanel[0]['current'];
    echo $chanel[1]['day'];
}
于 2013-10-03T19:02:07.583 に答える