亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

PHP 中的分組結果數組

PHP 中的分組結果數組

PHP
aluckdog 2023-09-22 15:00:43
我使用數組打開文件,如果數組鍵中的值匹配,則將打開與值相關的文件。當我嘗試時,它將打開與數據庫中的數據一樣多的文件。while ($d = mysqli_fetch_array($query))  {    $d['grade'] = array("2", "3", "4", "5", "6");    if(in_array("2", $d))    {      include "table/grade2_tab.php";    }    if(in_array("3", $d))    {      include "table/grade3_tab.php";    }    if(in_array("4", $d))    {      include "table/grade4_tab.php";    }    if(in_array("5", $d))    {      include "table/grade5_tab.php";    }    if(in_array("6", $d))    {      include "table/grade6_tab.php";    }  }?>假設我的數據庫中有 6 個數據,例如:=>grade6=>grade6=>grade6=>grade6=>grade3=>grade2如果數據已在數組中找到,則只需為每個鍵打開一個文件。如何實現這一目標?我嘗試使用if but datagrade6打開四次。我不知道如何處理這個問題,我用 foreach 搜索分組數據,但我不知道用 foreach 打開文件。任何答案表示贊賞。
查看完整描述

2 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

創建另一個數組來保存您已經使用過的值,您還可以使用循環來大大簡化代碼。


$grades = array("2", "3", "4", "5", "6");


//create an empty array to hold grades once they are displayed

$used = [];


while ($d = mysqli_fetch_array($query)) {


    //loop through each grade value

    foreach($grades as $grade) {


        //check if `$grade` is in array `$d`

        //AND check if `$used[$grade]` has not been set (if it hasn't been set, it hasn't been displayed)

        if(in_array($grade, $d) && !isset($used[$grade])) {


            //set $used[$grade] so the previous check will fail if this grade is a duplicate

            $used[$grade] = true;


            //include your php file

            include "table/grade{$grade}_tab.php";


        }

    }

}

此解決方案意味著您不再需要為每個等級添加 IF 塊。


查看完整回答
反對 回復 2023-09-22
?
largeQ

TA貢獻2039條經驗 獲得超8個贊

嘗試將可用數據存儲在另一個數組上,并檢查數據是否使用過


$useArray = array();

$d['grade'] = array("2", "3", "4", "5", "6");


while ($d = mysqli_fetch_array($query))

{

  if(in_array("2", $d) && !in_array("2",$useArray))

  {

    $useArray[] = 2;

    include "table/grade2_tab.php";

  }

  if(in_array("3", $d) && !in_array("3",$useArray))

  {

    $useArray[] = 3;

    include "table/grade3_tab.php";

  }

  if(in_array("4", $d) && !in_array("4",$useArray))

  {

    $useArray[] = 4;

    include "table/grade4_tab.php";

  }

  if(in_array("5", $d) && !in_array("5",$useArray))

  {

    $useArray[] = 5;

    include "table/grade5_tab.php";

  }

  if(in_array("6", $d) && !in_array("6",$useArray))

  {

    $useArray[] = 6;

    include "table/grade6_tab.php";

  }

}

?>


查看完整回答
反對 回復 2023-09-22
  • 2 回答
  • 0 關注
  • 128 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號