第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

停止在 while 內(nèi)循環(huán) foreach

停止在 while 內(nèi)循環(huán) foreach

PHP
慕仙森 2023-10-01 15:48:26
我嘗試使用數(shù)組從數(shù)據(jù)庫中獲取數(shù)據(jù)。但是當我在 while 中組合 foreach 時,它會在數(shù)據(jù)庫中循環(huán)盡可能多的數(shù)據(jù)。如何停止循環(huán)?我已經(jīng)實現(xiàn)了中斷功能,但不起作用。我的代碼中缺少什么。這是我的代碼:<?php  $no=1;                                  if(mysqli_num_rows($query) > 0)    {      $useArray = array("A","B","B","C");      while($row = mysqli_fetch_array($query))      {        foreach ($useArray as $array)        {          echo"<tr>";          echo "<td>".$no."</td>";          echo "<td>".$row['id']."</td>";          echo "<td>".$row['name']."</td>";          echo "<td>".$row['grade']."</td>";          if($row['v1']>=2.000)            echo "<td class='bg-success'>".$row['v1']."</td>";          elseif($row['v1']>=1.500)            echo "<td class='bg-warning'>".$row['v1']."</td>";          elseif($row['v1']>=0.100)            echo "<td class='bg-danger'>".$row['v1']."</td>";          else          {            echo "<td class='bg-dark'>".$row['v1']."<h5>D</h5></td>";          }          echo "<td>".$array."</td>";          if ($array == "C") {            break;           }          echo "</tr>";        }      $no++;    }  } else  {?></tbody></table><?phpecho "No Point";}?>結(jié)果如下我先搜索,但沒有工作。也許我錯誤地實現(xiàn)了代碼。這是我的參考: 在 PHP 中結(jié)合 foreach 和 while ,突破 if 和 foreach。我的預期結(jié)果是:總數(shù)據(jù)由數(shù)組中的字符串數(shù)量決定,因此如果數(shù)組為 ("A","B","B","C"),那么數(shù)據(jù)庫中也只有 4 行。任何幫助表示贊賞。
查看完整描述

2 回答

?
蠱毒傳說

TA貢獻1895條經(jīng)驗 獲得超3個贊

break只留下附近的方塊。在你的代碼中:


while($continue && $row = mysqli_fetch_array($query))

{

    foreach ($useArray as $array)

    {

        echo "<tr>";

        echo "<td>".$no."</td>";

        ...

        if ($array == "C") {

            break;

        }

        echo "</tr>";

    }

  $no++;

}

中斷離開 foreach,但 while 繼續(xù)。


您可以添加一個變量來保留 while,例如:


$continue = true;

while($continue && $row = mysqli_fetch_array($query))

{

    foreach ($useArray as $array)

    {

        echo "<tr>";

        echo "<td>".$no."</td>";

        ...

        if ($array == "C") {

            $continue = fase;

            break;

        }

        echo "</tr>";

    }

  $no++;

}


查看完整回答
反對 回復 2023-10-01
?
飲歌長嘯

TA貢獻1951條經(jīng)驗 獲得超3個贊

這里發(fā)生的事情是你break破壞了foreach, 而不是循環(huán)遍歷數(shù)據(jù)庫查詢的 while 。您可以嘗試在使用時突破break 2。

這里2表示您試圖跳出多少個“可破壞”循環(huán)。

盡管如此,我相信您可以通過修改數(shù)據(jù)庫查詢來改進代碼,以避免不必要的循環(huán)。


查看完整回答
反對 回復 2023-10-01
  • 2 回答
  • 0 關(guān)注
  • 150 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號