PHP从while循环字符串中删除最后两个字符


PHP removing last 2 characters from a while loop string

我在循环语句中返回一个列表,并试图从结果中删除最后两个字符:逗号和空格。

在我尝试使用trim, rtrim, implode和strlength之前,这是我的类函数

function ReturnPlayerList()
{
    global $sql;
    $pull = $sql->Query($GLOBALS['GET_PLAYERS']);
    while ($pullrow = mysqli_fetch_array($pull))
    {
        $name = $sql->Query($this->ReturnForumUser($pullrow['UID']));
        while ($nameRow = mysqli_fetch_array($name))
        {
            echo $nameRow['username']."(".$pullrow['char_name']."), ";
        }
    }
}

如何删除最后的分隔符?

而不是混淆rtrim, substr或类似的,它可能更容易让你保持一个数组的结果和他们implode他们。这样,您就不必跟踪哪条是最后一条记录,或者需要删除多少个字符:

function ReturnPlayerList()
{
    global $sql;
    $result = array();
    $pull = $sql->Query($GLOBALS['GET_PLAYERS']);
    while ($pullrow = mysqli_fetch_array($pull))
    {
        $name = $sql->Query($this->ReturnForumUser($pullrow['UID']));
        while ($nameRow = mysqli_fetch_array($name))
        {
            $result[] = $nameRow['username']."(".$pullrow['char_name'].")";
        }
    }
    echo implode(", ", $result);
}
function ReturnPlayerList()
{
    global $sql;
    $pull = $sql->Query($GLOBALS['GET_PLAYERS']);
    while ($pullrow = mysqli_fetch_array($pull))
    {
        $name = $sql->Query($this->ReturnForumUser($pullrow['UID']));
        while ($nameRow = mysqli_fetch_array($name))
        {
            echo rtrim($nameRow['username']."(".$pullrow['char_name']."), ",", ");
        }
    }
}

我认为你也可以使用substr函数,如以下:-

function ReturnPlayerList()
{
    global $sql;
    $pull = $sql->Query($GLOBALS['GET_PLAYERS']);
    while ($pullrow = mysqli_fetch_array($pull))
    {
        $name = $sql->Query($this->ReturnForumUser($pullrow['UID']));
        while ($nameRow = mysqli_fetch_array($name))
        {
            echo substr($nameRow['username']."(".$pullrow['char_name']."), ", 0, -2);
        }
    }
}