在json文件中查找内容然后尝试其他内容,如果它不起作用

时间:2015-08-01 02:30:55

标签: php json parsing steam-web-api

我从网站获取json文件,我希望它找到哪个获取文件并使用该文件。我也使用$ _GET方法。有两种获取相同文件的方法,但它们都需要来自steam的id或自定义URL。

我的网址示例:www.mysite.com?id = 123123123

获取json文件的两种方法:

如何解码它:

$id = $_GET['id'];
$url = "http://steamcommunity.com/id/".$id."/inventory/json/730/2";
$content = file_get_contents($url);
$playerinfo = json_decode($content, true);
$InventoryStatus = $playerinfo['success'];

1 个答案:

答案 0 :(得分:0)

一些参考

$id = $_GET['id'];
$handlers =array(
    'getByJson','getByDB','getBySomething'
);
$result = array('handler'=>'','data'=>'');

然后调用$ handlers

foreach($handlers as $m){
    $methodResult = call_user_func($m,$id);
    if($methodResult !==false){
        $result = array('handler'=>$m, 'data' => $methodResult) ;
        break;
    }
}

像这样的处理程序

function getByJson($id){
    $url = "http://steamcommunity.com/id/".$id."/inventory/json/730/2";
    $string = file_get_contents($url);
    $isJson =is_string($string) && is_object(json_decode($string)) && (json_last_error() == JSON_ERROR_NONE) ? true : false;
    if($isJson){
       $playerinfo = json_decode($content, true);
       return $playerinfo['success'];
    }

    return false;
}

function getByDB($id){
     // get $result

        if(condition){
            return $result
        }
        return false;

}

function getBySomething($id){
         // get $result

        if(condition){
            return $result
        }
        return false;
}