You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP while循环中每两行满足连续获胜条件时递增变量?

解决连续两行数据统计问题的PHP实现

方案一:逐行遍历并记录上一行状态

这种方式无需提前加载所有数据,适合大数据量场景:

$cnt = 0;
$prev_result = null; // 存储上一行的result值

while ($row = mysqli_fetch_array($res)) {
    $current_result = $row['result'];
    
    // 仅当存在上一行,且前后两行result均为"vincente"时递增计数器
    if ($prev_result !== null && $prev_result === 'vincente' && $current_result === 'vincente') {
        $cnt++;
    }
    
    // 更新上一行结果,供下一次循环对比
    $prev_result = $current_result;
}

方案二:先加载所有数据,再按两行一组处理

如果需要明确按“两行一组”的逻辑处理,可以先把数据存入数组再遍历:

$cnt = 0;
$rows = [];

// 先将所有result字段存入数组
while ($row = mysqli_fetch_array($res)) {
    $rows[] = $row['result'];
}

// 遍历数组,每次取连续两行判断
for ($i = 0; $i < count($rows) - 1; $i++) {
    if ($rows[$i] === 'vincente' && $rows[$i + 1] === 'vincente') {
        $cnt++;
    }
}

逻辑说明

  • 两种方案都满足需求:仅当连续两行的result均为vincente时,$cnt才加1;前一行是vincente后一行是perdente时不做递增操作。
  • 方案一更节省内存,无需一次性加载所有数据;方案二逻辑更直观,适合数据量较小的场景。

内容的提问来源于stack exchange,提问作者Tony Poli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 21:57:31