110

我正在使用循环从数据库中获取值,结果如下:

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

我想要这样的:

'name', 'name2', 'name3'

我想在循环的最后一个值之后删除逗号。

4

11 回答 11

249

使用rtrim功能:

rtrim($my_string, ',');

第二个参数表示要删除的字符。

于 2013-03-14T12:02:17.933 回答
28

尝试:

$string = "'name', 'name2', 'name3',";
$string = rtrim($string,',');
于 2013-03-14T12:02:11.290 回答
15

试试下面的代码:

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

使用此代码删除字符串的最后一个字符。

于 2015-03-30T08:59:27.417 回答
11

您可以使用substr函数来删除它。

$t_string = "'test1', 'test2', 'test3',";
echo substr($t_string, 0, -1);
于 2016-03-22T06:59:29.253 回答
7

rtrim功能

rtrim($my_string,',');

第二个参数表示要从右侧删除的逗号。

于 2014-02-04T07:55:24.103 回答
5

利用rtrim()

rtrim($string,',');
于 2013-03-14T12:02:31.757 回答
5

为此目的最好使用内爆。Implode 简单而且很棒:

    $array = ['name1', 'name2', 'name3'];
    $str = implode(', ', $array);

输出:

    name1, name2, name3
于 2018-11-30T12:07:39.090 回答
4

如果您使用作为子字符串的多字节文本,它将影响您的脚本。如果是这种情况,我强烈建议您在 php.ini 中启用 mb_* 函数或执行此操作ini_set("mbstring.func_overload", 2);

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

于 2017-04-19T09:27:38.937 回答
3

您可以使用以下技术之一删除最后一个逗号 (,)

解决方案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;  
于 2019-10-24T05:56:04.583 回答
2

它很简单:

$commaseparated_string = name,name2,name3,;
$result = rtrim($commaseparated_string,',');
于 2017-12-09T11:44:16.813 回答
0

在循环期间应用的解决方案:

//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
于 2020-09-04T15:24:51.887 回答