Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将相同密钥的JSON数据分组_Php_Json_Foreach - Fatal编程技术网

Php 如何将相同密钥的JSON数据分组

Php 如何将相同密钥的JSON数据分组,php,json,foreach,Php,Json,Foreach,我在php中工作。我有JSON数据,其中有多个数据。一些数据有两个相同的键,如下所示 { "result": [ { "id": "1", "imgId": "1", "gallery_name": "Schools DNA Gallery", "gallery_desc": "Gallery desc for Demo public senior secondary scho

我在php中工作。我有JSON数据,其中有多个数据。一些数据有两个相同的键,如下所示

{
    "result": [
        {
            "id": "1",
            "imgId": "1",
            "gallery_name": "Schools DNA Gallery",
            "gallery_desc": "Gallery desc for Demo public senior secondary school-1 Status : published",
            "gallery_status": "1",
            "image_name": "sdna_gallery_img_5662a31fb4ca9.jpg",
            "image_tittle": "2.jpg",
            "image_url": "assets/uploads/school/410920433/gallery/10803076"
        },
        {
            "id": "1",
            "imgId": "3",
            "gallery_name": "Schools DNA Gallery",
            "gallery_desc": "Gallery desc for Demo public senior secondary school-1 Status : published",
            "gallery_status": "1",
            "image_name": "sdna_gallery_img_5662a469c88aa.jpg",
            "image_tittle": "Gallery-img-1-updated here",
            "image_url": "assets/uploads/school/410920433/gallery/10803076"
        }
    ]
}
如何显示JSON数据

{
    "result": [
        {
            "id": "1",
            "imgId": "1",
            "gallery_name": "Schools DNA Gallery",
            "gallery_desc": "Gallery desc for Demo public senior secondary school-1 Status : published",
            "gallery_status": "1",
            "items": [     
                {  
                    "image_name": "sdna_gallery_img_5662a31fb4ca9.jpg",
                    "image_tittle": "2.jpg",
                    "image_url": "assets/uploads/school/410920433/gallery/10803076"
                },
                {
                    "image_name": "sdna_gallery_img_5662a469c88aa.jpg",
                    "image_tittle": "Gallery-img-1-updated here",
                    "image_url": "assets/uploads/school/410920433/gallery/10803076"
                }
            ]
        }
    ]
}
我的意思是创建一个相同键值的数组。通过一点搜索,我发现这可能与foreach循环有关,但不知道如何使用多个键实现。 我试过了密码。但是不要得到最优的解决方案

$items=json_decode($json,true);
foreach ($items as  $item) {
foreach ($item as $key => $value)
{
   if( is_array($value) ) { 

      foreach ($value as $subkey => $part)
      {
          foreach ($part as $partkey => $partvalue)
          {
              echo $key .' '. $subkey . ' ['.$partkey.'] => '.$partvalue."\n";
          }
      }
   } else {

    echo $key.' => '.$value."\n";
   }
}
代码:()

输出:

'{
    "statusCode":800,
    "status":"Sucess",
    "result":[
        {
            "id":"1",
            "imgId":"1",
            "gallery_name":"Schools DNA Gallery",
            "gallery_desc":"Gallery desc for Demo public senior secondary school-1 Status : published",
            "gallery_status":"1",
            "items":[
                {
                    "image_name":"sdna_gallery_img_5662a31fb4ca9.jpg",
                    "image_tittle":"2.jpg",
                    "image_url":"assets\\/uploads\\/school\\/410920433\\/gallery\\/10803076"
                },
                {
                    "image_name":"sdna_gallery_img_5662a469c88aa.jpg",
                    "image_tittle":"Gallery-img-1-updated here",
                    "image_url":"assets\\/uploads\\/school\\/410920433\\/gallery\\/10803076"
                }
            ]
        }
    ]
}'

你应该先自己解决这个问题。向我们展示你的努力和尝试。我们很乐意帮助您使用现有代码,但我们不会为您编写代码。这不是一个免费的编码服务。那么告诉我们你的尝试。当你问这个问题时,请阅读:并用其他代码/信息更新你的问题。在评论中张贴时无法阅读。请解释否决票。当我试图问一个新问题时,这可能对我将来有所帮助。我没有看到对这个问题投反对票的时间,但这可能是因为你在第一次发布问题时没有包括你的编码尝试。现在您已经将编码尝试作为编辑包含在内,您可以删除注释中的代码。
'{
    "statusCode":800,
    "status":"Sucess",
    "result":[
        {
            "id":"1",
            "imgId":"1",
            "gallery_name":"Schools DNA Gallery",
            "gallery_desc":"Gallery desc for Demo public senior secondary school-1 Status : published",
            "gallery_status":"1",
            "items":[
                {
                    "image_name":"sdna_gallery_img_5662a31fb4ca9.jpg",
                    "image_tittle":"2.jpg",
                    "image_url":"assets\\/uploads\\/school\\/410920433\\/gallery\\/10803076"
                },
                {
                    "image_name":"sdna_gallery_img_5662a469c88aa.jpg",
                    "image_tittle":"Gallery-img-1-updated here",
                    "image_url":"assets\\/uploads\\/school\\/410920433\\/gallery\\/10803076"
                }
            ]
        }
    ]
}'