2017-11-24 11 views
0

私は次のforeachループを持っていますが、同じループインデックスを再度どのように繰り返すことができますか?PHPで同じループをやり直すには?

$n = 0; 
$currentTotal = 0; 
$currentSettlement = $coupons[0]->settlement_id; 
foreach ($coupons as $coupon){ 
    if($currentSettlement == $coupon->settlement_id){ 
     $currentTotal += $coupon->amount; 
    }else{ 
     $settlements[$n]['total'] = $currentTotal; 
     $currentTotal = 0; 
     $currentSettlement = $coupon->settlement_id; 
     $n++; 
     // after this I want to reiterate current loop from the beginning 
    } 

} 
+0

より良いループのために好むしなければならないと思いますあなたはforeachをリセットするという意味ですか?あなたは実際にリセットすることができるかもしれないが、おそらく使用してforeachでできると思うidon't – Ghost

+0

これを行う目的は何でしょうか?私は何も考えることができません。 – sskoko

+0

他の部分から関数を呼び出すことができます。 –

答えて

0

あなたはあなたはそれが唯一の二回実行されることを修正する機能を使用することができ、必要なforeachループしたい場合:

$n = 0; 
$currentTotal = 0; 
$currentSettlement = $coupons[0]->settlement_id; 
for2loop(1,$coupons); 

function for2loop($loopagain,$coupons) 
{ 

    foreach ($coupons as $coupon) { 
     if ($currentSettlement == $coupon->settlement_id) { 
      $currentTotal += $coupon->amount; 
     } else { 
      $settlements[$n]['total'] = $currentTotal; 
      $currentTotal = 0; 
      $currentSettlement = $coupon->settlement_id; 
      $n++; 
      if($loopagain == 1) 
       for2loop(2,$coupons); // after this I want to reiterate current loop from the beginning 
     } 

    } 
    return $currentSettlement 
} 

をしかし、私は湯がループしながら、または

関連する問題