我正在使用循环从数据库中获取值,结果如下:
'name', 'name2', 'name3',
我想要这样的:
'name', 'name2', 'name3'
我想在循环的最后一个值之后删除逗号。
尝试:
$string = "'name', 'name2', 'name3',";
$string = rtrim($string,',');
试试下面的代码:
$my_string = "'name', 'name2', 'name3',";
echo substr(trim($my_string), 0, -1);
使用此代码删除字符串的最后一个字符。
您可以使用substr
函数来删除它。
$t_string = "'test1', 'test2', 'test3',";
echo substr($t_string, 0, -1);
rtrim
功能
rtrim($my_string,',');
第二个参数表示要从右侧删除的逗号。
利用rtrim()
rtrim($string,',');
为此目的最好使用内爆。Implode 简单而且很棒:
$array = ['name1', 'name2', 'name3'];
$str = implode(', ', $array);
输出:
name1, name2, name3
如果您使用作为子字符串的多字节文本,它将影响您的脚本。如果是这种情况,我强烈建议您在 php.ini 中启用 mb_* 函数或执行此操作ini_set("mbstring.func_overload", 2);
$string = "'test1', 'test2', 'test3',";
echo mb_substr($string, 0, -1);
您可以使用以下技术之一删除最后一个逗号 (,)
解决方案1:
$string = "'name', 'name2', 'name3',"; // this is the full string or text.
$string = chop($string,","); // remove the last character (,) and store the updated value in $string variable.
echo $string; // to print update string.
解决方案2:
$string = '10,20,30,'; // this is the full string or text.
$string = rtrim($string,',');
echo $string; // to print update string.
解决方案3:
$string = "'name', 'name2', 'name3',"; // this is the full string or text.
$string = substr($string , 0, -1);
echo $string;
它很简单:
$commaseparated_string = name,name2,name3,;
$result = rtrim($commaseparated_string,',');
在循环期间应用的解决方案:
//1 - Using conditional:
$source = array (1,2,3);
$total = count($source);
$str = null;
for($i=0; $i <= $total; $i++){
if($i < $total) {
$str .= $i.',';
}
else {
$str .= $i;
}
}
echo $str; //0,1,2,3
//2 - Using rtrim:
$source = array (1,2,3);
$total = count($source);
$str = null;
for($i=0; $i <= $total; $i++){
$str .= $i.',';
}
$str = substr($str,0,strlen($str)-1);
echo $str; //0,1,2,3