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 塊。

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";
}
}
?>
- 2 回答
- 0 關注
- 128 瀏覽
添加回答
舉報