【问题标题】:How to transform json data to a comma separated php string?如何将 json 数据转换为逗号分隔的 php 字符串?
【发布时间】:2012-04-05 06:43:24
【问题描述】:

假设我有这个 json 数据。如何将“标签”转换为字符串,如

$tags = "Rihanna, We, Found, Love, (Explicit), Def, Jam, Records, Pop";?

{ "apiVersion" : "2.1",
      "data" : { "items" : [ { "accessControl" : { "autoPlay" : "allowed",
                    "comment" : "allowed",
                    "commentVote" : "allowed",
                    "embed" : "allowed",
                    "list" : "allowed",
                    "rate" : "allowed",
                    "syndicate" : "allowed",
                    "videoRespond" : "allowed"
                  },
                "aspectRatio" : "widescreen",
                "category" : "Music",
                "tags" : [ "Rihanna",
                    "We",
                    "Found",
                    "Love",
                    "(Explicit)",
                    "Def",
                    "Jam",
                    "Records",
                    "Pop"
                  ],
                "title" : "Rihanna - We Found Love ft. Calvin Harris"
              } ],
          "itemsPerPage" : 1,
          "startIndex" : 1,
          "totalItems" : 859012,
          "updated" : "2012-04-04T20:32:26.170Z"
        }
    }

以标题为例,脚本如下:

$content = $this->getDataFromUrl($feedURL);
$content = json_decode($content,true);

$videosList = $content['data']['items'];

for($i=0; $i<count($videosList); $i++) {

$videosDatas['videos'][$i]['title'] = $videosList[$i]['title'];

}

【问题讨论】:

  • 你想把标签写到$videosDatas['videos'][$i]['tags']吗?

标签: php json


【解决方案1】:

您似乎需要implode()。该功能将类似于...

$tags = implode(', ', $videosDatas['videos'][$i]['tags']);

【讨论】:

  • 你需要把$tags改成'tags'
【解决方案2】:
$comma_sep_string = implode(', ' , $videosDatas['videos'][$i]['tags']);

【讨论】:

    【解决方案3】:

    试试:

    foreach($videosList as $i=>$video){
        $videosDatas['videos'][$i]['title'] = $video->title;
        $tags = implode(', ',$video->tags);
        $videosDatas['videos'][$i]['tags'] = $tags;
    }
    

    代替您的代码:

    for($i=0; $i<count($videosList); $i++) {
    
    $videosDatas['videos'][$i]['title'] = $videosList[$i]['title'];
    
    }
    

    【讨论】:

      猜你喜欢
      • 2019-11-18
      • 2019-11-12
      • 2016-02-08
      • 1970-01-01
      • 2020-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多