如果','删除最后一个字符串

时间:2010-10-26 14:29:09

标签: php

我有这样的字符串

$string =  'aaaaaa, bbbbbb, cccccc, ';

我希望将其修改为像这样

$string = 'aaaaaa, bbbbbb, cccccc';

最后一个','和空格被移除。

如何在PHP中执行此操作? 实现这个功能需要什么?


我的完整代码就像这样

if(isset($_POST['accomodation']))   $accomodation = 'Accomodation, ';
if(isset($_POST['dance']))          $dance = 'Dance Lessons, ';
if(isset($_POST['vacation']))       $vacation   = 'Vacation planning, ';
if(isset($_POST['group']))      $group = 'Group Vacation, ';
if(isset($_POST['inprivate']))      $inprivate = 'Private Vacation, ';
if(isset($_POST['land']))           $land = 'Land purchase/lease';
if(isset($_POST['all']))            $all    = 'All';

@$interest = $accomodation.$dance.$vacation.$group.$inprivate.$land;
@echo $string;

*对于这样一个愚蠢的问题感到抱歉,我已经很久没碰到原生的PHP编程了

5 个答案:

答案 0 :(得分:5)

rtrim()功能:

rtrim($string,', ');

但是你如何定义字符串?可能你可以在没有逗号和空格的情况下构建它。

修改

$interests = array();
if(isset($_POST['accomodation']))   $interests[] = 'Accomodation'; 
if(isset($_POST['dance']))          $interests[] = 'Dance Lessons'; 
if(isset($_POST['vacation']))       $interests[] = 'Vacation planning'; 
if(isset($_POST['group']))          $interests[] = 'Group Vacation'; 
if(isset($_POST['inprivate']))      $interests[] = 'Private Vacation'; 
if(isset($_POST['land']))           $interests[] = 'Land purchase/lease'; 
if(isset($_POST['all']))            $all    = 'All'; 

$interest = implode(', ',$interests);
echo $interest;

答案 1 :(得分:4)

$string = preg_replace('/\s*,\s*$/', '', $string);

或者,更酷的方式:

$string = rtrim($string, " ,");

请注意,模式字符串中字符的顺序无关紧要。

@您上次更新。 这改变了一些事情。您可以将所有变量放在一个数组中,然后将其内爆。像这样:

$items = array();
$items[] = $accomodation = 'Accomodation';
$items[] = $dance = 'Accomodation';
...
$result = implode(', ', $items) 

答案 2 :(得分:1)

$string = preg_replace( "/,\s*$/","",$string);

应该做的伎俩

答案 3 :(得分:0)

它总是一个逗号,最后是一个空格吗?

substr($string, 0, -2)

答案 4 :(得分:0)

通常,您可以通过更改构建字符串的方式来完全避免使用尾随逗号。例如:

$count = 0;
foreach ($this as $that) {

   if ($count != 0) {
      $string .= ',';
   }

   $string .= $that['stuff'];
   $count++;
}

无论结果如何组合,都会删除末尾任何尾随逗号的可能性。