2016-09-16 91 views
0

是否有其他方法来修剪循环内部的这个?我有一个循环,里面,我需要rtrim最后一个循环行,但是它会删除最后一个正确的字符串中的每个字符。PHP:如何修剪循环内的最后一个字符串

如果我使用这种方法,它的工作原理。

$plus = ""; 
for($i=0; $i<6; $i++){ 
    $plus .= 'total'.$i."+"; 
} 
echo rtrim($plus,'+'); 
//output 
total0+total1+total2+total3+total4+total5 

但是,如果我需要rtrim它内循环?因为我需要出于某种原因

for($i=0; $i<6; $i++){ 
    $plus = 'total'.$i."+"; 
    echo rtrim($plus,'+'); 
} 
//output says 
total0total1total2total3total4total5 

//This should be like 
//total0+total1+total2+total3+total4+total5 
+2

将一个if语句放在循环中,因此您只在最后一个元素上执行trim。 – Rizier123

+0

是的,但为什么?以第二种方式而不是第一种方式做这件事的好理由是什么? – AbraCadaver

+0

我有一堆代码,这是一个嵌套循环我不能到外面去,因为一些其他的代码是在我的外环这就是为什么我需要修剪它里面 –

回答

3

这没有任何意义。如果你不想在循环后最后+然后rtrim(),为什么在里面?

只需创建一个数组,并implode()

for($i=0; $i<6; $i++){ 
    $plus[] = 'total'.$i; 

} 
$plus = implode('+', $plus); 
2

这里将没有必要另一种方法为trim()implode()

$plus = ""; 
    for($i=0; $i<6; $i++){ 
     $plus .= 'total'. $i; 
     if($i < 5){ 
      $plus .= "+"; 
     } 
    } 
    echo $plus; 
1

希望它能帮助。

for($i=0; $i<6; $i++){ 
    $plus .= 'total'.$i.'+'; 
    if($i == 5){ 
     echo rtrim($plus,'+'); 
    } 
}