2014-04-26 2 views
0

스팀 API 작동 및 기능이 있지만 항목에 얼마나 많은 시간이 포함되어 있는지 계산하려고합니다. 재고가 얼마나 많은 항목을 인쇄 할 수 있습니까? 팀 포트리스 2 개 항목스팀 API에 대한 JSON 배열의 항목 수를 계산합니다.

이에 내가 이것을 사용하고

내가 사용하는 URL입니다.

{ 
"result": { 
    "status": 1, 
    "num_backpack_slots": 300, 
    "items": [ 
     { 
      "id": 1264649944, 
      "original_id": 1264649944, 
      "defindex": 267, 
      "level": 4, 
      "quality": 5, 
      "inventory": 2147483948, 
      "quantity": 1, 
      "origin": 1, 
      "flag_cannot_trade": true 
     }, 

그러나 더 많은 항목 그냥 한 다음이 있습니다 : 나는 http://api.steampowered.com/IEconItems_440/GetPlayerItems/v0001/?key=APIKey&SteamID=Steam_ID&format=json

출력이 내 API 키와 스팀 ID를했다.

특정 defindex가있는 항목 수를 계산하여 인쇄하는 방법을 알고 싶습니다.

편집 :

<?php 
$link = file_get_contents('http://api.steampowered.com/IEconItems_440/GetPlayer Items/v0001/?key=&SteamID=&format=json'); 
$myarray = json_decode($link, true); 

print $myarray['result']['items'][0]['id']; 
?> 
+0

편집 내용을 확인하고 답변을 업데이트하겠습니다. –

답변

1

사용 PHP의 count :

<?php 
$link = file_get_contents('http://api.steampowered.com/IEconItems_440/GetPlayer Items/v0001/?key=&SteamID=&format=json'); 
$myarray = json_decode($link, true); 

echo count($myarray['result']['items']); 
?> 

편집 : 그들 모두를 통해 당신은 루프를해야합니다 특정 속성 것들을 카운트 변수를 증가하려면 :

<?php 
$link = file_get_contents('http://api.steampowered.com/IEconItems_440/GetPlayer Items/v0001/?key=&SteamID=&format=json'); 
$myarray = json_decode($link, true); 

$count = 0; 
foreach($myarray['result']['items'] as $item){ 
    if($item['defindex'] == 267){//or whatever you're looking for 
     $count++; 
    } 
} 
echo $count; 
?> 
+0

내 편집을 확인하고 트릭을해야합니다. –

+0

완벽하게 작동합니다. 고맙습니다. – Armageddon08

+0

만약 내가 여러개의 defindex를 검색하고 그것들 중 하나를 모두 되풀이하고 싶다면 – Armageddon08

0

를 반복해야합니다.배열. 특정 defindex을 찾고 계시면 해당 특정 값이 표시되는 횟수를 표시합니다. 이것은 각각의 고유 한 defindex

의 카운트와 배열을 포함

$inv_array = array(); 
foreach ($myarray->result->items as $item) 
{ 
    if (array_key_exists($item->defindex,$inv_array)) 
    { 
     $inv_array[$item->defindex]++; 
    } 
    else 
    { 
     $inv_array[$item->defindex] = 1; 
    } 
} 

var_dump($inv_array); 

: 당신이 항목의 각 유형을 집계 찾고 있다면

$total = 0; 
foreach ($myarray->result->items as $item) 
{ 
    if ($item->defindex == 5000) // Scrap metal 
    { 
     $total++; 
    } 
} 

, 당신이 그런 짓을 할 것입니다 위의 코드에서 실수를 한 것은 id입니다. 이것은 TF2 경제의 모든 항목에 대해 고유하며 각각의 새 소유자 및 항목에 적용되는 각각의 새 도구와 함께 변경됩니다.

+0

예를 들어 ID를 인쇄하고 있습니다. – Armageddon08