首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从源查询中提取特定数据?

如何从源查询中提取特定数据?
EN

Stack Overflow用户
提问于 2018-07-30 01:11:08
回答 1查看 182关注 0票数 0

我正在使用SourceQuery php来查询一个steam游戏服务器,但是我不知道如何让它显示我想要在表中显示的值,而不是整个数组转储。是的,我已经尝试联系这篇文章的创建者,但没有得到任何回应。

这是我拥有的文件:

代码语言:javascript
复制
<?php
require __DIR__ . '/../SourceQuery/bootstrap.php';

use xPaw\SourceQuery\SourceQuery;

Header( 'Content-Type: text/plain' );
Header( 'X-Content-Type-Options: nosniff' );

define( 'SQ_SERVER_ADDR', 'localhost' );
define( 'SQ_SERVER_PORT', 27015 );
define( 'SQ_TIMEOUT',     1 );
define( 'SQ_ENGINE',      SourceQuery::SOURCE );

$Query = new SourceQuery( );

try
{
    $Query->Connect( SQ_SERVER_ADDR, SQ_SERVER_PORT, SQ_TIMEOUT, SQ_ENGINE );

    print_r( $Query->GetInfo( ));
    print_r( $Query->GetPlayers( ) );

}
catch( Exception $e )
{
    echo $e->getMessage( );
}
finally
{
    $Query->Disconnect( );
}?>

我尝试做的是将查询到的数组值放入如下表中:

代码语言:javascript
复制
<tr>
<td align="center" width="50"><strong>Server Name</strong></td>
<td align="center" width="150"><strong><?php echo $query['name'];?></strong> 

这是web浏览器中显示的内容:

代码语言:javascript
复制
Array (
[Protocol] => 17
[HostName] => Server 1
[Map] => gm_flatgrass
[ModDir] => garrysmod
[ModDesc] => Sandbox
[AppID] => 4000
[Players] => 0
[MaxPlayers] => 16
[Bots] => 0
[Dedicated] => d
[Os] => l
[Password] => 
[Secure] => 1
[Version] => 18.02.07
[ExtraDataFlags] => 177
[GamePort] => 27015
[SteamID] => 90116597896180737
[GameTags] =>  gm:sandbox
[GameID] => 4000 )

请给我解释清楚,并与我提供的代码示例。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-07-30 01:21:44

在他们提供的示例中,他们这样做,生成一个数组,然后用服务器信息填充它们。

代码语言:javascript
复制
$Query = new SourceQuery( );

$Info    = Array( );
$Players = Array( );

try
{
    $Query->Connect( SQ_SERVER_ADDR, SQ_SERVER_PORT, SQ_TIMEOUT, SQ_ENGINE );

    $Info    = $Query->GetInfo();
    $Players = $Query->GetPlayers();
}
catch( Exception $e )
{
    $Exception = $e;
}
finally
{
    $Query->Disconnect( );
}

来源:https://github.com/xPaw/PHP-Source-Query/blob/master/Examples/View.php

然后显示填充的数组中的信息。

代码语言:javascript
复制
<tr>
<td align="center" width="50"><strong>Server Name</strong></td>
<td align="center" width="150"><strong><?php echo $Info['HostName'];?></strong> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51582671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档