如何使用PHP从字符串中删除最后一个逗号?

时间:2013-03-14 12:00:44

标签: php string substr

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

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

我想要这样:

'name', 'name2', 'name3'

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

由于

12 个答案:

答案 0 :(得分:177)

使用rtrim功能

rtrim($my_string,',');

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

答案 1 :(得分:23)

尝试:

$string = "'name', 'name2', 'name3',";
$string = rtrim($string,',');

答案 2 :(得分:12)

尝试以下代码:

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

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

答案 3 :(得分:7)

rtrim功能

rtrim($my_string,',');

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

答案 4 :(得分:6)

您可以使用substr功能将其删除。

$t_string = "'test1', 'test2', 'test3',";
echo substr($t_string, 0, -1);

答案 5 :(得分:5)

使用rtrim()

rtrim($string,',');

答案 6 :(得分:3)

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



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




答案 7 :(得分:3)

首先,我尝试了没有空格rtrim($arraynama,",");并获得了无效结果。

然后我添加了一个空格并得到了一个有效的结果:

$newarraynama=rtrim($arraynama,", ");

答案 8 :(得分:1)

简单如下:

$commaseparated_string = name,name2,name3,;
$result = rtrim($commaseparated_string,',');

答案 9 :(得分:0)

为此目的最好使用内爆法。简单易用:

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

输出:

    name1, name2, name3

答案 10 :(得分:0)

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

解决方案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;  

答案 11 :(得分: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