2013-03-14 89 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,','); 
相关问题