2015-10-17 98 views
-2

的總數我有一個JSON這種結構:(附圖片) 我想在0,1,11整體的總鑰匙。獲取JSON鍵和PHP對象或JS

我有這樣的代碼,讓我輸出的「3」,但我想在這3個對象的總目標總:

$url = '//json url'; 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_TIMEOUT, 5); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$data = curl_exec($ch); 
curl_close($ch); 
$data = json_decode($data, true); 
echo count($data['planes']); 

Json Structure Image

回答

2

在Javascript中,計算對象的關鍵:

Object.keys(myObj).length 

或者,在PHP中,將其轉換爲一個數組又算什麼呢:

$json = json_decode($myStr); 
count($json); 

您可以訪問$json陣列數字索引和count()他們的成員,或者將它們重新解碼等:

echo count($json[2]) 

truejson_decode()創建關聯數組(你必須訪問使用字符串鍵,而不是數字索引)。

0

使用Object.keys()方法。它returnes所有密鑰對象中,然後用長度方法來獲得數組長度

例如陣列

var x = { 
    0: { 
     x: 1, 
     y: 1 
    }, 
    1: { 
     x: 1, 
     y: 1 
    }, 
    1: { 
     x: 1, 
     y: 1 
    }, 
} 

var total = 0; 
for(var obj in x) { 
    total += Object.keys(x[obj]).length ; 
}