2011-12-05 41 views
0

我想打印在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; 

回答

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" 
+0

正是..它的工作很好,謝謝ü非常烏拉圭回合的幫助。 –

0

你可以做到這一點[我用我的變量]

$str = substr($str,0, (strlen($str)-1));