【求助】关于php输出json格式的问题

php中的数组如下:

array (size=2)
  0 => 
    array (size=2)
      0 => 
        array (size=4)
          'id' => int 1
          'fid' => int 0
          'title' => string '数码1' (length=12)
          'level' => int 9
      1 => 
        array (size=4)
          'id' => int 2
          'fid' => int 0
          'title' => string '数码2' (length=12)
          'level' => int 8
  1 => 
    array (size=2)
      0 => 
        array (size=4)
          'id' => int 11
          'fid' => int 1
          'title' => string '手机1' (length=12)
          'level' => int 0
      1 => 
        array (size=4)
          'id' => int 12
          'fid' => int 1
          'title' => string '手机2' (length=12)
          'level' => int 0

使用json_encode输出如下:

[
    [{
        "id": 1,
        "fid": 0,
        "title": "数码1",
        "level": 9
    }, {
        "id": 2,
        "fid": 0,
        "title": "数码2",
        "level": 8
    }],
    [{
        "id": 11,
        "fid": 1,
        "title": "手机1",
        "level": 0
    }, {
        "id": 12,
        "fid": 1,
        "title": "手机2",
        "level": 0
    }]
]

想要的格式是:

"0": [{
        "id": 1,
        "fid": 0,
        "title": "数码1",
        "level": 9
    }, {
        "id": 2,
        "fid": 0,
        "title": "数码2",
        "level": 8
    }],
"1": [{
        "id": 11,
        "fid": 1,
        "title": "手机1",
        "level": 0
    }, {
        "id": 12,
        "fid": 1,
        "title": "手机2",
        "level": 0
    }]
阅读 1.4k
2 个回答

json里面表示下表数组的形式就是[];比如

[
    '数码1'
    '数码2'
]

这个就相当于是

[
    0=>'数码1'
    9=>'数码2'
]

所以你得到的那个结果是没问题的,

你用你的变量名[0]取到就是你数码的那个数组

没写过php,但是你已经得到了json_encode之后的结果,遍历一遍数组重新组装一下就可以了吧,数组序号作为新对西那个的key,数组元素作为value就好啦

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题