2016-09-16 99 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,'+'); 
    } 
}