我仍在学习 PHP,这是我第一次使用这个库(TeamSpeak 3 PHP Framework),我试图返回特定组中的在线用户数,我尝试了几种不同的方法,但没有成功。
这一项,统计组内所有用户(包括离线用户):
$admins = 0;
foreach($ts3->serverGroupGetById(12)->clientList() as $client) {
$admins++;
}
所以我尝试将该列表与在线用户列表进行比较:
$admins = 0;
foreach($ts3->serverGroupGetById(12)->clientList() as $client) {
if($ts3->clientList($client)) {
$admins++;
}
}
它有时有效,我说有时是因为我在我的虚拟服务器上尝试过并且没有问题,计数是正确的,但是当我在另一个虚拟服务器上尝试它时(我更改了组 ID 和端口),我得到了这个:
Warning: preg_match(): Unknown modifier '9' in C:\xampp\htdocs\serverstatus\libraries\TeamSpeak3\Helper\String.php on line 192
该警告仅出现在某些服务器组中,我不知道原因。
$admins = 0;
foreach($ts3->clientList($client) as $client) {
$admins++;
}
我想这段代码应该显示所有在线用户,但我对其进行了测试,但价值并不总是在线用户,就像我之前在我的虚拟服务器上所说的那样,它显示了正确的计数,但是当我在另一个虚拟服务器上尝试时,我得到了 48但是有61个用户在线。