doushi8599
doushi8599
2013-04-02 19:38

使用PHP从JSON中提取特定值

已采纳

I'm trying to pull the price from the following JSON but can't seem to figure out how to reference the actual values:

{"cards": [ { "high": "0.73", "volume": 1, "percent_change": "-2.67", "name": "Lightning Bolt", "url": "http://blacklotusproject.com/cards/Revised+Edition/Lightning+Bolt/", "price": "0.73", "set_code": "3ED", "average": "0.73", "change": "-0.02", "low": "0.73"}], "currency": "USD" }

So far I've got this code, which gets into the cards array but I'm unsure how to get farther - every attempt I've tried returns null.

$json = file_get_contents($url); $data = json_decode($json, TRUE);
echo var_dump($data[cards]);

Can someone shed light on what I need to do?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • doubao6936 doubao6936 8年前

    $data['cards'] has another array within it. You will need to access this array with index 0. For instance, $data['cards'][0]['high'] and so on.

    点赞 评论 复制链接分享
  • dtgvl48608 dtgvl48608 8年前

    To access using a string literal array index, always use quotes.

    $data["cards"]
    

    Link: PHP Documentation for Arrays

    点赞 评论 复制链接分享
  • dongpiaozhao6836 dongpiaozhao6836 8年前

    $data['cards'] is an array itself, so you could do:

    foreach ($data['cards'] AS $carditem) {
        echo $carditem['high'];
        ...
    }
    

    to get all items in that array, or if you only want the first item $data['cards'][0]['...']

    点赞 评论 复制链接分享

相关推荐