我正在尝试在xml中打印一行中选择的不同类别, 像
<cat_name>meeting, food and drinks, sports</cat_name>
我得到的输出:
<cat_name>meeting, food and drinks, sports,</cat_name>
我想只删除最后一个逗号。
到目前为止我写的代码是:
$sq="
select category_main.cat_name
from category_main
join category
on(category.cat_id=category_main.cat_id)
where category.event_id='$event_id'
";
$e=mysql_query($sq);
$xml ='<cat_name>';
while($row=mysql_fetch_array($e))
{
$res=$row['cat_name'];
//$new = substr($val,0,-1);
$xml .="$res, ";
}
$xml .='</cat_name>';
echo $xml;
答案 0 :(得分:4)
使用可选的第二个参数','
trim()
trim($cat_name, ',')
但是,由于你是在while循环中执行此操作,因此应该构建一个数组,然后implode()
,而不是在循环中构建字符串。这样可以避免使用额外的逗号。
$arr = array();
while($row=mysql_fetch_array($e))
{
$arr[] = $row['cat_name'];
}
$cat_name = implode(",", $arr);
// $cat_name is now "meeting, food and drinks, sports"
答案 1 :(得分:0)
你可以通过[我使用我的变量]
来做到这一点$str = substr($str,0, (strlen($str)-1));
答案 2 :(得分:0)
或使用rtrim,rtrim( $cat , ',' )
http://php.net/rtrim