1

希望这对您来说很容易。

无论如何,我在使用 fread() 时遇到了很多麻烦,所以决定使用我能够找到的 api 链接。

该脚本只是将提取的游戏服务器数据转换为可读格式。

“序列化”数据的链接是:http ://api.typefish.co.uk/monitor/sa-mp/80.86.81.14:6969/?info&masterlist&rules&players

简而言之,我对如何处理这些数据几乎没有任何想法。

到目前为止,这就是我所拥有的,尽管我可能离我很远:

$content = file_get_contents("http://api.typefish.co.uk/monitor/sa-mp/80.86.81.14:6969/?info&masterlist&rules&players");
trim($content, "{");
trim($content, "}");
foreach(exlpode(",", $content) as $pieces){
  explode(":", $pieces);
}

现在我被困住了。有人可以告诉我一种更好的方法,或者帮助我用一些想法完成脚本吗?

谢谢

这是我在 2 个答案后得到的代码:

    $newarray = json_decode($content);
    var_dump($newarray);
    echo "<br><br>";
    echo $newarray->{"mapname"};

问题是我无法以这种格式显示变量,如何重建它以便查看变量。

我改变了这个:

echo $newarray->{"mapname"};

对此:

echo $newarray->data->rules->mapname;
4

2 回答 2

3

此数据为 json 格式。将其转换为 php 数组所需的全部内容是json_decode($content)

参考:http ://us3.php.net/json_decode 并在此处阅读有关 json 的更多信息:http: //www.json.org/

于 2012-07-10T18:46:33.583 回答
0

你做错了,它不是 PHP 序列化字符串,它的 json 输出你可以使用json_decode将字符串放入 PHP 数组。

喜欢:

var_dump(json_decode($content, true));
于 2012-07-10T18:49:46.373 回答