php 如果while循环中存在条件,如何每两个循环递增一次变量

neskvpey  于 2023-05-12  发布在  PHP
关注(0)|答案(1)|浏览(135)

我有一个数组从数据库到一个循环“while”周期,我需要每两个周期,如果两行有相同的值增量+1一个变量。
每2个周期,如果有一个赢家,并且紧接着赢家之后,如果有一个赢家(Vincente),并且紧接着输家(Perdente),则$cnt变量增加1,不增加,并且这对于整个数组,每次2行。

$cnt=0;
While ($row = mysqli_fetch_array($res)){    

    if ($row['result']=="vincente"){                
            
    }
        else {
            
    }
}

我试着这样做,但没有继续下去的想法。

n9vozmp4

n9vozmp41#

您需要同时检查两个项目。下面是你如何做到这一点的例子。

// making a Generator, that will return pair of elements on each iteration
function fetchPairs($result) {
  // initialize array, which will store elements
  $pair = [];
  while ($row = mysqli_fetch_array($result)) {
    // add each element in array
    $pair[] = $row;
    // if there is 2 elements..
    if (count($pair) === 2) {
      // ..yield them and..
      yield $pair;
      // ..clear array
      $pair = [];
    }
  }
}

$count = 0;
// in this `foreach` each iteration now returns pair of two elements;
foreach (fetchPairs($res) as [$first, $second]) { // you can use $pair instead of destructing list into $first and $second varialbes
   // check both items are 'vincente'
   if ($first['result'] === 'vincente' && $second['result'] === 'vincente') {
      $count += 1;
   }
}

相关问题