2013-03-14 88 views
54

你好我使用的循環來從我的數據庫中的值,我的結果是這樣的:如何使用php從字符串中刪除最後一個逗號?

'name', 'name2', 'name3', 

而且我希望它是這樣的:

'name', 'name2', 'name3' 

我想以後循環的最後的值刪除逗號。

感謝

+2

讓我們看看你的循環 – 2013-03-14 12:02:22

+8

您應該'用逗號implode'你原來值,而不是循環在他們身上並在最後刪除東西。 – moonwave99 2013-03-14 12:03:29

回答

115

使用rtrim功能

rtrim($my_string,','); 

第二個參數表示的字符被刪除。

+1

把代碼行放在循環後面不在循環內 – Ander2 2013-03-14 12:47:56

+11

還要確保在逗號後面沒有任何尾隨空格,否則這將失敗,或者執行rtrim(trim ($ my_string),',')。 – Foxhoundn 2015-03-03 12:14:00

+0

優秀的答案! – DiChrist 2016-11-18 12:36:39

18

嘗試:

$string = "'name', 'name2', 'name3',"; 
$string = rtrim($string,','); 
+1

我已經嘗試過,但它的表現是這樣的: 「name''name2''name3」 這不是我所需要 – JoJo 2013-03-14 12:43:19

+0

按照您的例子,你只需要在最後的結果,而不是在每個值應用此功能分別。 – Boaz 2013-03-14 12:47:58

+0

更新了答案,使其更清晰。 – Boaz 2013-03-14 12:53:19

4

rtrim()使用

rtrim($string,','); 
5

rtrim功能

rtrim($my_string,','); 

第二參數指示逗號從右側刪除。

7

嘗試下面的代碼:

$my_string = "'name', 'name2', 'name3',"; 
echo substr(trim($my_string), 0, -1); 

使用此代碼刪除字符串的最後一個字符。

4

您可以使用substr函數將其刪除。

$t_string = "'test1', 'test2', 'test3',"; 
echo substr($t_string, 0, -1); 
2

如果您使用從您的子字符串開始的多字節文本,它將會影響您的腳本。如果是這樣的話,我建議higly在php.ini使MB_ *函數或爲此ini_set("mbstring.func_overload", 2);

$string = "'test1', 'test2', 'test3',"; 
 
echo mb_substr($string, 0, -1);

0

第一次嘗試沒有空間RTRIM($ arraynama, 「」);並得到錯誤結果。

然後我添加一個空格,並取得良好的效果:

$newarraynama=rtrim($arraynama,", "); 
0

它的那樣簡單:

$commaseparated_string = name,name2,name3,; 
$result = rtrim($commaseparated_string,','); 
相關問題