我如何删除一个string结束的逗号?
我想删除一个string结束的逗号。 现在我正在使用
$string = substr($string,0,-1);
但是只能删除string的最后一个字符。 我正在dynamic添加string,所以有时在string的末尾没有逗号。 如何让PHP在string末尾删除逗号(如果末尾有逗号)?
$string = rtrim($string, ',');
rtrim
在这里rtrim
这是一个典型的问题,有两个解决scheme。 如果你想删除一个逗号,可能会或可能不会在那里,使用:
if (substr($string, -1, 1) == ',') { $string = substr($string, 0, -1); }
如果你想从行尾删除所有的逗号,使用更简单的:
$string = rtrim($string, ',');
rtrim函数(和左边修剪相应的ltrim)非常有用,因为您可以指定一系列要删除的字符,即删除逗号和尾随空格,您可以这样写:
$string = rtrim($string, ", \t\n");
我想你在循环中连接了一些东西,比如
foreach($a as $b) $string .= $b . ',';
更好的办法是收集数组中的项目,然后用你需要的分隔符join它
foreach($a as $b) $result[] = $b; $result = implode(',', $result);
这解决了串联时通常发生的尾随和双分隔符问题
看看rtrim函数
rtrim ($string , ",");
如果最后一个字符是逗号,上面的行将删除一个字符
if(substr($str, -1, 1) == ',') { $str = substr($str, 0, -1); }
rtrim($ string,“,”); 是最简单的方法。
在此之前:
if(substr($string, -1)==",")
一个简单的正则expression式可以工作
$string = preg_replace("/,$/", "", $string)
我有一个讨厌的“看不见的”空间在我的string结束,必须这样做
$update_sql=rtrim(trim($update_sql),',');
但上面的解决scheme更好
$update_sql=rtrim($update_sql,', ');