首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TeamSpeak 3 PHP框架

TeamSpeak 3 PHP框架
EN

Stack Overflow用户
提问于 2015-09-14 19:10:36
回答 1查看 1.7K关注 0票数 2

我仍然在学习PHP,这是我第一次使用这个库(TeamSpeak 3 PHP框架),我试图返回一个特定组的在线用户数量,我尝试了几种不同的方法,但没有成功。

这个计算组中的所有用户(包括脱机用户):

代码语言:javascript
复制
$admins = 0;
foreach($ts3->serverGroupGetById(12)->clientList() as $client) {
    $admins++;
}

因此,我试着将这个列表与在线用户列表进行比较:

代码语言:javascript
复制
$admins = 0;
foreach($ts3->serverGroupGetById(12)->clientList() as $client) {
    if($ts3->clientList($client)) {
        $admins++;
    }
}

它有时起作用,有时我说,因为我在我的虚拟服务器上尝试过,而且没有问题,计数是正确的,但是当我在另一个虚拟服务器上尝试它(我更改了组ID和端口)时,我得到了如下结果:

代码语言:javascript
复制
Warning: preg_match(): Unknown modifier '9' in C:\xampp\htdocs\serverstatus\libraries\TeamSpeak3\Helper\String.php on line 192

这个警告只出现在一些服务器组中,我不知道原因。

代码语言:javascript
复制
$admins = 0;
foreach($ts3->clientList($client) as $client) {
    $admins++;
}

我想这段代码应该显示所有的在线用户,但是我测试了它,它的价值并不总是在线用户,就像我之前在我的虚拟服务器上说的,它显示了正确的计数,但是当我在另一个虚拟服务器上尝试它时,我得到了48个用户,但是有61个用户在线。

EN

回答 1

Stack Overflow用户

发布于 2017-01-05 14:09:52

我知道那是一年前的事了,但这可能会有帮助,因为我在谷歌上搜索了同样的问题,过了一段时间,我找到了如何做到这一点。

下面是您正在寻找、测试和工作的内容:

代码语言:javascript
复制
   foreach($ts3_VirtualServer->serverGroupClientList(11) as $admins){
        foreach($arr_ClientList as $ts3_Client)
            if(in_array($ts3_Client['client_nickname'], $admins)){
                $adminsCount++;
            }
    }

希望能有所帮助;)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32572167

复制
相关文章

相似问题

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