PHPについては Hello World レベルの超初心者です。
サンプルソースからデータを取り出す方法を教えて下さい。
以下サンプルソース
PHP
1print "[ResponseData]\n".trim($response_body);
実行結果
[ResponseData] {"devices":[{"num":"1","serial":"ABCDEFG","model":"","name":"","battery":"5","rssi":"","time_diff":"540","std_bias":"0","dst_bias":"60","unixtime":"1619663634","channel":[{"num":"1","name":"Ch.1","value":"22.7","unit":"C"},{"num":"2","name":"Ch.2","value":"22.8","unit":"C"}],"baseunit":{"serial":"ABCDEFG","model":"","name":""},"group":{"num":"0","name":"GROUP1"}}]}
この$response_bodyからCh.1のvalue=22.7とCh.2のvalue22.8を取り出す方法を教えて下さい。
追記
>こんなにたくさんの文字を打って質問してる間に幾つもの優良記事を見つけられる、無駄な労力かけてます。
打ってないです。コピペしてるだけです。
デコードしたらこんな感じになりました。
Array ( [devices] => Array ( [0] => Array ( [num] => 1 [serial] => ABCDEFG [model] => ***** [name] => ***** [battery] => 5 [rssi] => [time_diff] => 540 [std_bias] => 0 [dst_bias] => 60 [unixtime] => 1619663634 [channel] => Array ( [0] => Array ( [num] => 1 [name] => Ch.1 [value] => 22.7 [unit] => C ) [1] => Array ( [num] => 2 [name] => Ch.2 [value] => 22.8 [unit] => C ) ) [baseunit] => Array ( [serial] => ABCDEFG [model] => ******* [name] => ******** ) [group] => Array ( [num] => 0 [name] => GROUP1 ) ) ) )
次はどうすれば良いでしょうか?
PHP
1print("\n".$response_decode["devices"][0]["serial"]); 2print("\n".$response_decode["devices"][0]["channel"][0]["name"]); 3print("\n".$response_decode["devices"][0]["channel"][0]["value"]); 4print("\n".$response_decode["devices"][0]["channel"][1]["name"]); 5print("\n".$response_decode["devices"][0]["channel"][1]["value"]);
結果
ABCDEFG Ch.1 22.7 Ch.2 22.8
追記
この質問にケチを付けた人へ、他人に仕事させている典型的な質問を見つけたので紹介します。
https://teratail.com/questions/335843
↑他人に仕事をさせる質問とはこういうことです。当質問のように、どんな検索キーワードで検索すればいいか見当もつかない初心者が日本語で説明して、答えを知っている人が1秒で答える。これこそが質問サイトの理想的なあり方です。
更に追記
質問への追加修正依頼をしている人がいるけど、ちゃんと答えを知っている人が質問を読めば追加修正など無くても一瞬で答えられる質問の例を見つけました。
回答1件
あなたの回答
tips
プレビュー