• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPでJSONを扱うときに配列の参照について)

PHPでJSONを扱うときに配列の参照について

このQ&Aのポイント
  • PHPでJSONを扱う方法として、json_decode()関数を使用することがあります。しかし、配列からデータを参照する際に問題が発生することがあります。
  • 具体的には、牡羊座のランクを取得しようとしても正しく表示されないことがあります。print_r()関数を使用することで、配列の内容は表示されるため、配列へのアクセス方法に問題がある可能性があります。
  • この問題を解決するためには、正しい配列のパスを指定する必要があります。具体的な配列のパスの設定方法はAPIのドキュメントを参照するか、開発者に問い合わせることが推奨されます。

質問者が選んだベストアンサー

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.3

と思ったらこれで大丈夫だった $date = '2009/02/27'; print_r( $obj->horoscope->$date );

rentarumoto
質問者

お礼

おぉ!!!!! 日付を変数に代入すればいいんですね。 "/"なんかが挟まってるからいけなかったのかな。 本当にありがとうございました!!

その他の回答 (2)

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.2

ついでにこんな取り方も。 $date = key($obj->horoscope); $uranai = current($obj->horoscope);

rentarumoto
質問者

お礼

すいません。 $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']);

関連するQ&A

専門家に質問してみよう