2014-07-11 4 views
0

루프 문에서 목록을 반환하고 결과에서 마지막 두 문자를 제거하려고합니다 : 쉼표와 공백. 여기PHP는 while 루프 문자열에서 마지막 2 문자를 제거합니다.

내가 트림, RTRIM을 사용하려고하기 전에 내 클래스의 함수이다

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']."), "; 
     } 
    } 
} 

이 어떻게 최종 분리를 제거 할 수 있습니다 내파 및 strlength?

+0

'substr'을 사용해 보셨나요? – Idris

+1

입력, 출력 및 원하는 출력의 예를 보여줄 수 있습니까? –

+0

또한 JOIN을 고려해보십시오. – AbraCadaver

답변

5

rtrim, substr 또는 그와 비슷한 것 대신에 결과 배열을 유지하는 것이 더 쉬울 수 있으며 그 중 하나는 implode입니다. 당신은 추적 할 필요가 없습니다 이런 식으로 마지막 기록이다하거나 제거 할 필요가 얼마나 많은 문자 : 당신은 또한 다음과 같은 SUBSTR 함수를 사용할 수 있다고 생각

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); 
} 
+0

이것은 두 번째로 시도한 방법이며 각각의 마지막에 여분을 추가하는 것입니다. – Faded

+0

@Faded : 문자열에서 원래 ','를 제거하고'implode'가 그 일을하도록하십시오. – cOle2

+0

아 그거야! 고맙습니다. – Faded

0
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']."), ",", "); 
     } 
    } 
} 
+0

이것은 불행하게도 아무것도하지 않았습니다. – Faded

0

을 -

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); 
     } 
    } 
} 
관련 문제