2012-03-27 129 views
1

比方說,我的字符串,如:如何從逗號分隔的單詞字符串在PHP中刪除最後一個逗號?

$string = 'lorem, ipsum, dolor, sit, amet, '; 

$string = 'lorem, ipsum, dolor, sit, amet,';

如何變換到這樣的事情?

$string = 'lorem, ipsum, dolor, sit, amet'; 

//字符串通過該代碼來生成:

$count = count($taglist); 
for ($i = 0; $i < $count; $i++) { 
$videoData['tags'] .= $taglist[$i].', '; 
} 

回答

6
$string = rtrim($string, ', '); 
+0

+1這是正確的,它也修剪空間。 – Josh 2012-03-27 19:24:58

+0

謝謝你。 – m3tsys 2012-03-27 19:30:07

3
trim($string, " ,"); 

移除後逗號(加上默認空格,換行等)從兩個開始和字符串的結尾。

+0

這並不刪除空格(或逗號,就此而言)。您需要在第二個參數中指定空格。 http://codepad.org/oKig4gTI – Josh 2012-03-27 19:27:58

+1

我的不好,需要爲charlist增加空間。愚蠢的錯誤。 – 2012-03-27 19:32:05

0

試試這個....

$string = rtrim($string, ', '); 
2
$string = substr(trim($string),0,-1); 
0

您可以使用substr(trim($string),0,-1)刪除最後一個字符空格和。

4

我猜這串正在修建編程其他地方通過一個循環是這樣的:

$str = ''; 
some loop { 
    $str .= $item . ', '; 
} 

而你留下一個額外的「」在循環結束。如果是這樣的話,我建議你不要做這樣的:

$list = array(); 
some loop { 
    $list[] = $item; 
} 
$str = implode(', ', $list); 
+0

我添加了生成字符串的代碼 – m3tsys 2012-03-27 19:32:53

+0

然後,您只需扔掉整個循環,然後使用:implode(「,」,$ taglist); – 2012-03-27 19:33:46

+0

+1我認爲這是最好的答案。 :) – Imtiaz 2013-11-02 16:18:21

1

一個PHP不太具體soultion這是一個慣例,以及良好的習慣進入是這樣的......

var modString = ""; 
for(var i = 0; i < LIMIT_NUM; i++) { 
    if(modString.length() > 0) modString += ","; 
    modString += "content"; 
} 

這是JavaScript代碼的simalary,但這個想法很簡單...檢查字符串是否有任何內容,以及它是否在內容之前添加逗號。這將以任何語言工作,並且是我最常看到它的方式。你需要這種事情的約定與調用一個如此簡單的事情庫。

相關問題