2011-03-09 11 views
1

,我有以下JSON數據:從JSON數據拉唯一鍵的名稱,如SQL選擇不同**********

{ 
    "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。也會想要做排序和其他事情,但我會在時間到來的時候做到這一點。

感謝您的幫助提前。 Neil

回答

1

您希望使用的數據結構是一個只允許唯一條目的集合。

使用PHP數組的簡單實現是使用鍵。

例如

$categories = array(); 

foreach($friendLikesArray->data as $l) 
{ 
    $categories[$l->category] = true; 
} 

$categories = array_keys($categories); 

這種方式,如果類已經被添加,那麼你沒有添加任何新的數組。

如果密鑰不是對你很重要,那麼你可以使用該行:

$categories[$l->category] = $l->category 

但是,這意味着你的磁盤陣列不會有0,1,2,...,N鑰匙。

+0

非常感謝您的快速反應,它非常棒! –