我想删除字符串末尾的逗号.因为现在我正在使用
$string = substr($string,0,-1);
Run Code Online (Sandbox Code Playgroud)
但这只删除了字符串的最后一个字符.我正在动态添加字符串,因此有时字符串末尾没有逗号.如果字符串末尾有一个逗号,我如何让PHP删除字符串末尾的逗号?
Sig*_*urd 285
$string = rtrim($string, ',');
Run Code Online (Sandbox Code Playgroud)
Ben*_*ell 37
这是一个经典问题,有两个解决方案.如果您想要删除一个逗号,可能会或可能不存在,请使用:
if (substr($string, -1, 1) == ',')
{
$string = substr($string, 0, -1);
}
Run Code Online (Sandbox Code Playgroud)
如果要从行尾删除所有逗号,请使用更简单的:
$string = rtrim($string, ',');
Run Code Online (Sandbox Code Playgroud)
rtrim函数(和左边修剪的相应ltrim)非常有用,因为你可以指定要删除的字符范围,即删除你要编写的逗号和尾随空格:
$string = rtrim($string, ", \t\n");
Run Code Online (Sandbox Code Playgroud)
use*_*291 11
我想你是在循环中连接一些东西,比如
foreach($a as $b)
$string .= $b . ',';
Run Code Online (Sandbox Code Playgroud)
更好的方法是收集数组中的项目,然后使用您需要的分隔符加入它
foreach($a as $b)
$result[] = $b;
$result = implode(',', $result);
Run Code Online (Sandbox Code Playgroud)
这解决了串联时通常会出现的尾随和双分隔符问题
小智 9
如果要在循环中连接某些内容,也可以这样做:
$coma = "";
foreach($a as $b){
$string .= $coma.$b;
$coma = ",";
}
Run Code Online (Sandbox Code Playgroud)