我在网站上出现带有较大选择框的困境。如果我的选择框包含300多个选项,我应该使用数组,循环还是仅添加每个选项?
我必须使用for循环函数在以后指定用户是否选择了此选项(与MySQLi数据库一起检查)。
我关心代码的速度。
选项1 -休闲代码:
<optgroup label='{$lang['c_010']}'>
<option value='{$i_array_value[0]}' ".($g_interests_row_0 == 1 ? 'selected' : '').">{$i_array_name[0]}/option>
<option value='{$i_array_value[1]}' ".($g_interests_row_1 == 1 ? 'selected' : '').">{$i_array_name[1]}/option>
<option value='{$i_array_value[2]}' ".($g_interests_row_2 == 1 ? 'selected' : '').">{$i_array_name[2]}/option>
<option value='{$i_array_value[3]}' ".($g_interests_row_3 == 1 ? 'selected' : '').">{$i_array_name[3]}/option>
<option $p_2_t data-subtext='{$lang['c_015']}' disabled></option>
<option value='{$i_array_value[4]}' ".($g_interests_row_4 == 1 ? 'selected' : '').">{$i_array_name[4]}/option>
<option value='{$i_array_value[5]}' ".($g_interests_row_5 == 1 ? 'selected' : '').">{$i_array_name[5]}/option>
<option value='{$i_array_value[6]}' ".($g_interests_row_6 == 1 ? 'selected' : '').">{$i_array_name[6]}/option>
<option value='{$i_array_value[7]}' ".($g_interests_row_7 == 1 ? 'selected' : '').">{$i_array_name[7]}/option>
<option value='{$i_array_value[8]}' ".($g_interests_row_8 == 1 ? 'selected' : '').">{$i_array_name[8]}/option>
<option $p_2_t data-subtext='{$lang['c_021']}' disabled></option>
<option value='{$i_array_value[9]}' ".($g_interests_row_9 == 1 ? 'selected' : '').">{$i_array_name[9]}/option>
<option value='{$i_array_value[10]}' ".($g_interests_row_10 == 1 ? 'selected' : '').">{$i_array_name[10]}/option>
<option value='{$i_array_value[11]}' ".($g_interests_row_11 == 1 ? 'selected' : '').">{$i_array_name[11]}/option>
<option value='{$i_array_value[12]}' ".($g_interests_row_12 == 1 ? 'selected' : '').">{$i_array_name[12]}/option>
<option value='{$i_array_value[13]}' ".($g_interests_row_13 == 1 ? 'selected' : '').">{$i_array_name[13]}/option>
<option value='{$i_array_value[14]}' ".($g_interests_row_14 == 1 ? 'selected' : '').">{$i_array_name[14]}/option>
<option value='{$i_array_value[15]}' ".($g_interests_row_15 == 1 ? 'selected' : '').">{$i_array_name[15]}/option>
<option value='{$i_array_value[16]}' ".($g_interests_row_16 == 1 ? 'selected' : '').">{$i_array_name[16]}/option>
<option value='{$i_array_value[17]}' ".($g_interests_row_17 == 1 ? 'selected' : '').">{$i_array_name[17]}/option>
<option value='{$i_array_value[18]}' ".($g_interests_row_18 == 1 ? 'selected' : '').">{$i_array_name[18]}/option>
<option $p_2_t data-subtext='{$lang['c_033']}' disabled></option>
<option value='{$i_array_value[19]}' ".($g_interests_row_19 == 1 ? 'selected' : '').">{$i_array_name[19]}/option>
<option value='{$i_array_value[20]}' ".($g_interests_row_20 == 1 ? 'selected' : '').">{$i_array_name[20]}/option>
<option value='{$i_array_value[21]}' ".($g_interests_row_21 == 1 ? 'selected' : '').">{$i_array_name[21]}/option>
<option value='{$i_array_value[22]}' ".($g_interests_row_22 == 1 ? 'selected' : '').">{$i_array_name[22]}/option>
<option value='{$i_array_value[23]}' ".($g_interests_row_23 == 1 ? 'selected' : '').">{$i_array_name[23]}/option>
<option value='{$i_array_value[24]}' ".($g_interests_row_24 == 1 ? 'selected' : '').">{$i_array_name[24]}/option>
<option value='{$i_array_value[25]}' ".($g_interests_row_25 == 1 ? 'selected' : '').">{$i_array_name[25]}/option>
<option value='{$i_array_value[26]}' ".($g_interests_row_26 == 1 ? 'selected' : '').">{$i_array_name[26]}/option>
<option value='{$i_array_value[27]}' ".($g_interests_row_27 == 1 ? 'selected' : '').">{$i_array_name[27]}/option>
<option value='{$i_array_value[28]}' ".($g_interests_row_28 == 1 ? 'selected' : '').">{$i_array_name[28]}/option>
<option $p_2_t data-subtext='{$lang['c_044']}' disabled></option>
<option value='{$i_array_value[29]}' ".($g_interests_row_29 == 1 ? 'selected' : '').">{$i_array_name[29]}/option>
<option value='{$i_array_value[30]}' ".($g_interests_row_30 == 1 ? 'selected' : '').">{$i_array_name[30]}/option>
<option value='{$i_array_value[31]}' ".($g_interests_row_31 == 1 ? 'selected' : '').">{$i_array_name[31]}/option>
<option value='{$i_array_value[32]}' ".($g_interests_row_32 == 1 ? 'selected' : '').">{$i_array_name[32]}/option>
<option value='{$i_array_value[33]}' ".($g_interests_row_33 == 1 ? 'selected' : '').">{$i_array_name[33]}/option>
<option value='{$i_array_value[34]}' ".($g_interests_row_34 == 1 ? 'selected' : '').">{$i_array_name[34]}/option>
<option value='{$i_array_value[35]}' ".($g_interests_row_35 == 1 ? 'selected' : '').">{$i_array_name[35]}/option>
<option value='{$i_array_value[36]}' ".($g_interests_row_36 == 1 ? 'selected' : '').">{$i_array_name[36]}/option>
<option value='{$i_array_value[37]}' ".($g_interests_row_37 == 1 ? 'selected' : '').">{$i_array_name[37]}/option>
</optgroup>
选项2 -For循环:
for ($j = 0; $j < 367; $j++) {
$interests_rows = 'g_interests_row_'.$j;
$demographics_rows = 'g_demographics_row_'.$j;
$$interests_rows = $db->QueryGetNumRows("$modules_rows_count FIND_IN_SET('".$i_array_value[$j]."', interests)");
$$demographics_rows = $db->QueryGetNumRows("$modules_rows_count FIND_IN_SET('".$d_array_value[$j]."', demographics)");
if ($j == 0) {
echo "<optgroup label='{$lang['c_010']}'>";
} elseif ($j <= 4) {
echo $am_sh_di_1;
} elseif ($j == 5) {
echo "<option $p_2_t data-subtext='{$lang['c_015']}' disabled></option>";
} elseif ($j <= 8) {
echo $am_sh_di_1;
} elseif ($j <= 10) {
echo $am_sh_di_2;
} elseif ($j == 11) {
echo "<option $p_2_t data-subtext='{$lang['c_021']}' disabled></option>";
} elseif ($j <= 14) {
echo $am_sh_di_1;
} elseif ($j <= 22) {
echo $am_sh_di_2;
} elseif ($j == 23) {
echo "<option $p_2_t data-subtext='{$lang['c_033']}' disabled></option>";
} elseif ($j <= 33) {
echo $am_sh_di_1;
} elseif ($j == 34) {
echo "<option $p_2_t data-subtext='{$lang['c_044']}' disabled></option>";
} elseif ($j <= 38) {
echo $am_sh_di_1;
} elseif ($j <= 43) {
echo $am_sh_di_2;
} elseif ($j == 44) {
echo '</optgroup>';
}
if ($j >= count($d_array_value)) {
$r_interests = ${"g_interests_row_".($j - count($d_array_value)).""};
} else {
$r_demographics = ${"g_demographics_row_$j"};
}
}
选项3 -数组(与选项1几乎相同):
$test = array(
"<optgroup label='{$lang['c_010']}'>",
array(
"<option value='{$i_array_value[0]}' ".($g_interests_row_0 == 1 ? 'selected' : '').">{$i_array_name[0]}/option>",
"<option value='{$i_array_value[1]}' ".($g_interests_row_1 == 1 ? 'selected' : '').">{$i_array_name[1]}/option>",
"<option value='{$i_array_value[2]}' ".($g_interests_row_2 == 1 ? 'selected' : '').">{$i_array_name[2]}/option>",
"<option value='{$i_array_value[3]}' ".($g_interests_row_3 == 1 ? 'selected' : '').">{$i_array_name[3]}/option>",
array(
"<option $p_2_t data-subtext='{$lang['c_015']}' disabled></option>",
array(
"<option value='{$i_array_value[4]}' ".($g_interests_row_0 == 1 ? 'selected' : '').">{$i_array_name[4]}/option>",
...
)
)
)
)
我应该怎么做?