为foreach()提供的参数无效 - 无法遍历两个数组

时间:2015-05-11 20:45:25

标签: php json steam-web-api

我的代码应该将array_inv中的“defindex”从array_schema转换为“item_name”:

<?php
    $apikey = "X";
    $steamid = $steamprofile['steamid'];
    $url_inv = "http://api.steampowered.com/IEconItems_730/GetPlayerItems/v0001/?language=en?key=". $apikey . "&steamid=" . $steamid . "&format=json";
    $url_schema = "http://git.optf2.com/schema-tracking/plain/Counter%20Strike%20Global%20Offensive%20Schema?h=counterstrikeglobaloffensive";
    $array_inv_raw = file_get_contents($url_inv);
    $array_schema_raw = file_get_contents($url_schema);

    $array_inv = json_decode($array_inv_raw,true);
    $array_schema = json_decode($array_schema_raw,true);

    foreach($array_inv['result']['items'] as $item){
        foreach($array_schema['result']['items'] as $schemaItem){
            if($item['defindex'] == $schemaItem['defindex']){
                echo $schemaItem['item_name'].'<br />';
                break;
            }
        }
    }
?>

但这导致了这些错误:

  

警告:   的file_get_contents(http://api.steampowered.com/IEconItems_730/GetPlayerItems/v0001/?language=en?key=x&steamid=76561198037897388&format=json):   无法打开流:HTTP请求失败! HTTP / 1.1 403禁止进入   第6行/home/kartm/public_html/scripts/inv.php

     

警告:为foreach()提供的参数无效   第12行/home/kartm/public_html/scripts/inv.php

网址: array_inv array_schema

我找不到任何错误。你能告诉我这段代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

这些错误是由网址中的错字引起的:

http://api.steampowered.com/IEconItems_730/GetPlayerItems/v0001/?language=en?key=x&steamid=76561198037897388&format=json

应该是 key = x而不是?key = x。

file_get_contents无法获取url,因此foreach具有无效的空参数。