0

bukkit JSONAPI と php JSONAPI.php を使用して、Minecraft サーバー上のプレイヤーのリストを自分の Web サイトに取得しています。カウントを取得するには、次のようにします。

require('JSONAPI.php'); // get this file at:      https://github.com/alecgorge/jsonapi/raw/master/sdk/php/JSONAPI.php

$api = new JSONAPI("localhost", 20059, "user", "pass", "salt");

$limit = $api->call("getPlayerLimit");
$count = $api->call("getPlayerCount");

$c = curl_init($url);
curl_setopt($c, CURLOPT_PORT, 20059);
curl_setopt($c, CURLOPT_HEADER, false);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_TIMEOUT, 10);
$result = curl_exec($c);
curl_close($c);
echo "<h5>Players online:</h5>";
$num= '' . $count['success'] . '/' . $limit['success'];
echo $num;

これは次を返します: 1/40 次に、プレイヤー リストを取得しようとします。

$list = $api->call('getPlayerNames');
echo $list;

これは次のように返されます: Array ただし、そうすると

var_dump($api->call('getPlayerNames'));

私は得る:

array(3) { ["result"]=> string(7) "success" ["source"]=> string(14) "getPlayerNames" ["success"]=> array(1) { [0]=> string(8) "gauso001" } }

ただし、私が欲しいのは、余分なものをすべて含まない単純なプレーヤーのリストです。これが初心者の質問である場合は申し訳ありませんが、私はかなり基本的なPHPしか知りません。

役立つかもしれないもの: メソッド ドキュメント: http://alecgorge.com/minecraft/jsonapi/apidocs/#package-JSONAPI%20standard 他に何を教えて..

よろしくお願いします。いつかPHPであなたと同じくらい上手になることを願っています:D

4

2 に答える 2

1

奇妙なことに、プレイヤー名はsuccessキーの配列として含まれているようです。

プレーヤー名にアクセスするには、次のことができます。

$list = $api->call('getPlayerNames');
// debug
print_r($list['success']);
// direct access
echo $list['success'][0];
// loop
foreach($list['success'] as $player) {
    echo $player;
}

必要に応じてフォーマットします。しかし、それで始められるはずです。

注: PHP の配列についても学ぶことをお勧めします。

于 2013-07-10T21:38:00.310 に答える
0

$api->call('getPlayerNames')名前付き配列を返します。そのうちの 1 つのキー ( success) は、プレーヤー名を含む別の配列です。キーを反復処理してsuccess、プレーヤー リストを取得します。

$players = $api->call('getPlayerNames');
foreach($players['success'] as $player) {
    echo $player;
}
于 2013-07-10T21:39:28.367 に答える