在foreach中返回仅显示第一个值

Gam*_*aPL 0 php foreach return function

我有问题.在我的函数中,return只显示来自服务器的第一个玩家.我想向服务器显示所有玩家,但我无法让这个工作.这是我的代码:

function players() {
    require_once "inc/SampQueryAPI.php";
    $query = new SampQueryAPI('uh1.ownserv.pl', 25052); // Zmie? dane obok! //
    if($query->isOnline())
    {
        $aInformation = $query->getInfo();
        $aServerRules = $query->getRules();
        $aPlayers = $query->getDetailedPlayers();
        if(!is_array($aPlayers) || count($aPlayers) == 0)
        {
            return 'Brak graczy online';
        }
        else
        {
            foreach($aPlayers as $sValue)   
            {
                $playerid = $sValue['playerid'];
                $playername = htmlentities($sValue['nickname']);
                $playerscore = $sValue['score'];
                $playerping = $sValue['ping'];
                return '<li>'.$playername.' (ID: '.$playerid.'), Punkty ('.$playerscore.'), Ping ('.$playerping.')</li>';
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Bri*_*new 6

你是在循环中返回的.

相反,您应该连接每次迭代的结果,然后在循环返回该连接字符串.

例如

$result = "";
foreach($aPlayers as $sValue) {
   # add to $result...
}
return $result
Run Code Online (Sandbox Code Playgroud)