douziqian2871 2016-05-22 09:21
浏览 65
已采纳

将嵌套数组转换为逗号分隔的值列表

I have a simple bit of JSON like this:

{
  "grinning": {
    "unicode": "1f600",
    "unicode_alternates": "",
    "name": "grinning face",
    "shortname": ":grinning:",
    "category": "people",
    "emoji_order": "1",
    "aliases": [

    ],
    "aliases_ascii": [

    ],
    "keywords": [
      "happy",
      "joy",
      "smile",
      "grin",
      "smiling",
      "smiley",
      "person"
    ]
  },
  "grimacing": {
    "unicode": "1f62c",
    "unicode_alternates": "",
    "name": "grimacing face",
    "shortname": ":grimacing:",
    "category": "people",
    "emoji_order": "2",
    "aliases": [

    ],
    "aliases_ascii": [

    ],
    "keywords": [
      "teeth",
      "grimace",
      "disapprove",
      "pain",
      "person"
    ]
  }
}

I can access the "unicode" and "name" elements via:

<?php
$str = file_get_contents('http://localhost/_testing/emoji/emoj1-test.json');

$json_a = json_decode($str, true);

foreach($json_a as $key => $val) {
    echo $val['unicode'];
    echo $val['name'];
}
?>

But I can't work out how I can get the "keywords" nested array into a variable containg the keywords held as a comma separated list of values.

I simplistically tried:

echo $val['keywords'];

But because that's an array, it returns this error:

Notice: Array to string conversion

I then tried:

echo $val['keywords'][0];

Which I think is along the right lines, but still doesn't return any data.

  • 写回答

3条回答 默认 最新

  • 普通网友 2016-05-22 09:23
    关注

    echo implode(',', $val['keywords']);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题