dポイントプレゼントキャンペーン実施中!

Web ad Fortune
http://jugemkey.jp/api/waf/api_free.php
という占いのAPIをPHPにて使おうと思い、
JSON形式で情報が帰ってくるようなので JSONについて調べて

json_decode()関数を使うことにしました。
しかし、いまいち配列からのデータ参照ができません。どういうことかというと、
牡羊座のランクを取り出したいときに


【ソース】
<?php
$json = file_get_contents("http://api.jugemkey.jp/api/horoscope/free/2009/0 …
$obj = json_decode($json);
echo "<pre>";
print_r($obj->horoscope->2009/02/27[0]["rank"]);
echo "</pre>";
?>

としても何も表示されません。
ちなみに、print_rの部分を
print_r($obj->horoscope); とすると
http://nanigashi.biz/json.php
のように表示されます。
配列からの情報の読み込み(データ参照)がわかりません。
教えてください。

A 回答 (3件)

と思ったらこれで大丈夫だった



$date = '2009/02/27';
print_r( $obj->horoscope->$date );
    • good
    • 0
この回答へのお礼

おぉ!!!!!
日付を変数に代入すればいいんですね。
"/"なんかが挟まってるからいけなかったのかな。

本当にありがとうございました!!

お礼日時:2009/02/28 07:22

ついでにこんな取り方も。



$date = key($obj->horoscope);
$uranai = current($obj->horoscope);
    • good
    • 0
この回答へのお礼

すいません。
$day = "2009/02/27";
print_r($obj->horoscope->$day);
とやると表示できましたが、
キーの指定がいまいちできません。

print_r($obj->horoscope->$day[0]);
としても何も表示されません。
どうすればいいかわかりますか?

お礼日時:2009/02/28 16:59

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']);
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!