你如何在PHP中的多维数组中嵌套值?

时间:2013-06-06 14:49:14

标签: php api multidimensional-array twitter

我正在尝试学习Twitter的API。这是发送请求时服务器返回的内容。

[
  {
    "coordinates": null,
    "favorited": false,
    "truncated": false,
    "created_at": "Wed Aug 29 17:12:58 +0000 2012",
    "id_str": "240859602684612608",
    "entities": {
      "urls": [
        {
          "expanded_url": "https://dev.twitter.com/blog/twitter-certified-products",
          "url": "https://t.co/MjJ8xAnT",
          "indices": [
            52,
            73
          ],
          "display_url": "dev.twitter.com/blog/twitter-c\u2026"
        }
      ],
      "hashtags": [

      ],
      ad infinitum...

我的问题是,我使用的代码是否适用于非嵌套值:

echo($tweets[$tweet_counter]['created_at']);

如何访问网址?我试过这个:

echo($tweets[$tweet_counter]['entities']['urls']['url']);

2 个答案:

答案 0 :(得分:0)

我认为您可以先将json解码为关联数组

$array = json_decode($json, true); //note the true as second parameter to have decoded as associative array

然后您可以使用范围

访问值
$array['created_at'];
$array['entities']['urls']['url'];

答案 1 :(得分:0)

在该格式中,如果没有关于代码的更多信息,您可以执行以下操作:

对象格式

$Data = json_decode($your_json);
$Url = $Data[0]->entities->urls[0]->url;

echo $Url; // returns: https://t.co/MjJ8xAnT

显式数组格式

$Data = json_decode($your_json, TRUE); //<--- note the TRUE here
$Url = $Data[0]['entities']['urls'][0]['url'];

echo $Url; // returns: https://t.co/MjJ8xAnT