2012-01-02 134 views
0

我建立一個JSON數組如下:PHP和JSON - 訪問數據

$footerSEOArray[$data['domainname']] = $data[$language]; 
echo json_encode($footerSEOArray); 

一旦傳回我這樣對其進行解碼:

$footerLinks = json_decode($result); 

我可以打印排列如下:

print_r($footerLinks); 

,在打印時它看起來像這樣:

stdClass Object 
(
[www.data1.com] => Australia 
[www.data2.com] => Hindu 
[www.data3.com] => Laos 
[www.data4.com] => Iranian 
[www.data5.com] => America 
) 

現在我需要能夠打印數組的第一部分和第二部分,但我似乎無法讓它在print_r()之外打印。

THX

+0

這是一個對象而不是數組。你應該學習如何訪問對象屬性或數組項。 – 2012-01-02 12:03:26

+2

'$ footerLinks'是一個**對象**。您可能希望將其作爲數組來獲取,您必須將'true'作爲第二個參數傳遞給'json_decode'。然後你可以遍歷數組。 – 2012-01-02 12:04:09

+0

您應該使用echo $ footerLinks [0] - > {'www.data1.com'}; – dkulkarni 2012-01-02 12:08:57

回答

1

你必須傳遞到json_decode一個額外的參數,以獲得一個數組,而不是一個普通的數組。

$footerLinks = json_decode($result, true); 

參考:PHP手冊json_decode

0

嘗試:

 

$footerLinks = (array) $footerLinks; 
 
1

你應該第二個參數傳遞給json_decode功能。它的默認行爲是將鍵值對轉換爲stdClass對象,但是使用此參數強制使用關聯表來代替。

所以:

$footerLinks = json_decode($result, true); 
0

正如都說$ footerlinks是一個對象,如果你想使用它,就像你解碼一個這樣的數組:

$footerLinks = json_decode($result,true); 

現在,$ footLinks變成了一個關聯數組。