我有以下json数据:
{
"data": [
{
"name": "The Frugalicious Chef",
"category": "Chef",
"id": "186397894735983",
"created_time": "2011-03-07T16:10:35+0000"
},
{
"name": "Siuslaw Broadband",
"category": "Telecommunication",
"id": "190373850988171",
"created_time": "2011-03-06T20:21:42+0000"
},
{
"name": "Paul",
"category": "Movie",
"id": "129989595478",
"created_time": "2011-03-04T19:55:18+0000"
},
{
"name": "Mark Zuckerberg",
"category": "Public figure",
"id": "68310606562",
"created_time": "2011-02-16T09:50:35+0000"
},
这里的想法是我想要获取这些数据并使用它的一部分。我想创建数据中“类别”的列表。问题是存在并且将存在具有相同类别的多个项目。所以我的清单会有重复,我不想要。以下是我如何获取数据并将其转换使用:
$jsonurl = "https://xxxxxxxxxx.com/".$fd_ID. "/info?access_token=".$session['access_token'];
$likesjson = file_get_contents($jsonurl,0,null,null);
$likesArray=json_decode($likesjson);
然后我使用foreach来访问数据。
foreach($friendLikesArray->data as $l)
{
etc......
}
所以我想muy问题是我想取$likesArray
并取出所有唯一的Data->Category->names
。也会想做排序和其他事情,但是到时候我会谈到它。
提前感谢您的帮助。 尼尔
答案 0 :(得分:1)
您想要使用的数据结构是一个只允许唯一条目的集合。
使用PHP数组的简单实现是使用密钥。
e.g。
$categories = array();
foreach($friendLikesArray->data as $l)
{
$categories[$l->category] = true;
}
$categories = array_keys($categories);
这样,如果已经添加了类别,那么您不会向数组中添加任何新内容。
如果密钥对您不重要,那么您可以使用以下行:
$categories[$l->category] = $l->category
但这意味着你的数组不会有0,1,2 ... n的密钥。