douzhang3356 2016-03-11 18:18
浏览 26
已采纳

访问PHP json_encode中的嵌套值

I converted an array to JSON, how do I get the value of the slug from it?

{
  "230": {
    "term_id": 230,
    "name": "Executive Committee",
    "slug": "executive_committee",
    "term_group": 0,
    "term_taxonomy_id": 241,
    "taxonomy": "team_member_filter",
    "description": "",
    "parent": 0,
    "count": 1,
    "object_id": 1561,
    "filter": "raw"
  }
}

Of course the first value "230" is different for each instance. How do I access the "slug" value for each instance inside of my loop?

I originally had this array in $variable:

  Array ( 
   [230] => stdClass Object ( 
      [term_id] => 230
      [name] => Executive Committee 
      [slug] => executive_committee
      [term_group] => 0 
      [term_taxonomy_id] => 241 
      [taxonomy] => team_member_filter
      [description] =>
      [parent] => 0 
      [count] => 1 
      [object_id] => 1561 
      [filter] => raw 
   )   
)

Why does $variable['slug'] not return anything?

  • 写回答

1条回答 默认 最新

  • douben7260 2016-03-11 18:26
    关注

    Use json_decode() and then you can access like an array:

    $items = json_decode($variable, true); // 'true' here makes the json an associative array
    foreach($items AS $item) {
        echo $item['slug']; // because it is associative  you can access each value by name
    }
    

    This echos executive_committee for the JSON you provided above.


    From the original array ($variable)you would do the same thing:

    foreach($variable AS $item) {
        echo $item->slug; // because you have an object, not an array 
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建