代码之家  ›  专栏  ›  技术社区  ›  user982124

PHP-通过循环解析嵌套JSON数组

  •  0
  • user982124  · 技术社区  · 6 年前

    我正在处理一些JSON数据,如下所示:

        {
      "attachments": [
        {
          "content": "<base 64 encoded attachment>", 
          "content_type": "image/jpeg", 
          "original_name": "image000000.jpg"
        }, 
        {
          "content": "<base 64 encoded attachment>", 
          "content_type": "image/gif", 
          "original_name": "gif0001.jpg"
        }
      ], 
      "source_number": "++614567890"
    }
    

    我需要遍历所有附件数组。我可以得到如下单个元素:

    $arr = json_decode($jsonobj, true);
    echo $arr[attachments][0]["content_type"]; // returns image/jpeg
    

        foreach($arr[attachments] as $key => $value) {
      $contentType = $arr[attachments][0]["content_type" ;
      $content = $arr[attachments][0]["content" ;
      $originalName = $arr[attachments][0]["original_name" ;
    }
    

    这将在循环中为附件数组中的每个项生成一个变量。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Lukman    6 年前

    $key $value . 消息灵通的 是具有键的关联数组 content content_type original_name :

    foreach($arr["attachments"] as $value) {
      $contentType = $value["content_type"];
      $content = $value["content"];
      $originalName = $value["original_name"];
    }
    
        2
  •  1
  •   CherryDT Ravi Shankar    6 年前

    你就快到了: $value['content_type'] $key 这是多余的。)

    哦,你应该用 $arr['attachments'] 而不是 $arr[attachments]