- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPでJSONを扱うときに配列の参照について)
PHPでJSONを扱うときに配列の参照について
このQ&Aのポイント
- PHPでJSONを扱う方法として、json_decode()関数を使用することがあります。しかし、配列からデータを参照する際に問題が発生することがあります。
- 具体的には、牡羊座のランクを取得しようとしても正しく表示されないことがあります。print_r()関数を使用することで、配列の内容は表示されるため、配列へのアクセス方法に問題がある可能性があります。
- この問題を解決するためには、正しい配列のパスを指定する必要があります。具体的な配列のパスの設定方法はAPIのドキュメントを参照するか、開発者に問い合わせることが推奨されます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
と思ったらこれで大丈夫だった $date = '2009/02/27'; print_r( $obj->horoscope->$date );
その他の回答 (2)
- tany180sx
- ベストアンサー率63% (239/379)
回答No.2
ついでにこんな取り方も。 $date = key($obj->horoscope); $uranai = current($obj->horoscope);
質問者
お礼
すいません。 $day = "2009/02/27"; print_r($obj->horoscope->$day); とやると表示できましたが、 キーの指定がいまいちできません。 print_r($obj->horoscope->$day[0]); としても何も表示されません。 どうすればいいかわかりますか?
- tany180sx
- ベストアンサー率63% (239/379)
回答No.1
stdClass Object からの取り方は私もわかんないっすなぁ・・ $horo = get_object_vars($obj->horoscope); print_r($horo['2009/02/27']); $horo = (array)$obj->horoscope; print_r($horo['2009/02/27']); foreach ($obj->horoscope as $key => $val) { $horo[$key] = $val; break; } print_r($horo['2009/02/27']);
お礼
おぉ!!!!! 日付を変数に代入すればいいんですね。 "/"なんかが挟まってるからいけなかったのかな。 本当にありがとうございました!!