İlk döngü döngüsü sonra sayaç değeri sınırlayın

3 Cevap

Nasıl bu $ sayaç değeri takip eden her döngüsünde ilk yineleme ve 0 1 olduğunu, böyle bir şekilde yazabilirim?

$counter =1;

foreach($result):

 $number = $result['value'] + $counter;

 db->update($result['value'] => $number);

 $counter--;

endforeach;

Esasen amacım her aşağıdaki döngüye için $ sayı 0 ardından $ sayısının ilk döngü sayısını 1 $ için elde etmektir ve.

$ Result ['değer'] değeri gerekli değişmeden değer olacak şekilde sonraki döngüsü $ sonucunda ['değer'] üzerine, $ numaraya +1 ilk döngü sonra kurulacaktır.

3 Cevap

Sorun bulunduğu yerde görmüyorum.

$counter = 1;
foreach($result):
  $number = $result['value'] + $counter;
  // Once you have used your variable, just set it to zero...
  $counter = 0;
  db->update($result['value'] => $number);
endforeach;

Neden sadece bu gibi bir şey kullanmayın:

  • Test eğer $counter olup 1
  • evet, 0 bunu ayarlanır
  • başka, bir şey yapmak

Sana böyle olmazdı bazı kod verecek olan:

$counter = 1;
foreach($result):
    $number = $result['value'] + $counter;
    db->update($result['value'] => $number);
    if ($counter == 1) {
        $counter = 0;
    }
endforeach;


Or, you could also just set $counter to 0 at the end of the loop, not testing anything :

$counter = 1;
foreach($result):
    $number = $result['value'] + $counter;
    db->update($result['value'] => $number);
    $counter = 0;
endforeach;

Bu grubu:

  • Döngü önce başlatıldı gibi döngü vardır ilk kez, $counter, 1 olurdu
  • Ilk yinelemenin sonunda, 0 atanabilir
  • Ve sonra her yineleme sonra 0 yeniden açardı - bu 0 kalmak istiyorum yani.

bu sözdizimsel olarak geçerli olmasa kod PHP gibi görünüyor. Ben iterated değişken (burada denilen $results) 0'dan başlayıp sayısal tuşları var kabul edeceğiz:

foreach($results as $counter => $result):
    $number = $result['value'] + !$counter;

olumsuzlamayı dikkat edin.