从while循环中的字符串中删除最后一个逗号

时间:2015-05-20 10:37:07

标签: php

我的选择查询是这样的,在group_name中我给逗号,但我想删除最后一个逗号。我已经尝试过修剪但它删除了所有逗号,我只想删除最后一个逗号。

$selctGroup = "SELECT contact_id,group_name FROM contact_group
                       LEFT JOIN `group` ON `group`.`group_id` = `contact_group`.`group_id`
                 WHERE contact_id = ".$row['contact_id'];
 $selctGroupRes = mysql_query($selctGroup);
 while($groupRow = mysql_fetch_array($selctGroupRes))
 {
   echo  $groupRow['group_name'].','; 
 }

4 个答案:

答案 0 :(得分:3)

不是回显每一行,而是建立一个字符串以在最后回显。在此之前,请使用rtrim($str,",")从最后删除延迟逗号。

$str = "";
while($groupRow = mysql_fetch_array($selctGroupRes)) {
   $str .= $groupRow['group_name'].','; 
}
echo rtrim($str,",");

答案 1 :(得分:1)

$selctGroup = "SELECT contact_id,group_name FROM contact_group
                       LEFT JOIN `group` ON `group`.`group_id` = `contact_group`.`group_id`
                 WHERE contact_id = ".$row['contact_id'];
 $selctGroupRes = mysql_query($selctGroup);
 $str='';
 while($groupRow = mysql_fetch_array($selctGroupRes))
 {
    if($str=='')
      $str=$groupRow['group_name']; 
    else
       $str.=','.$groupRow['group_name']; 
 }
 echo $str;

答案 2 :(得分:0)

将您的数据存储在array中,然后使用implode删除最后一个逗号

while($groupRow = mysql_fetch_array($selctGroupRes))
 {
  $result[] = $groupRow['group_name']; 
 }

echo implode(",", $result);

答案 3 :(得分:0)

使用rtrim()。如下所示

rtrim($groupRow['group_name'])