#php #html
#php #HTML
Вопрос:
В принципе, у меня есть <select>
элемент с кучей опций. Давайте назовем их A, B, C, D, E.
Я пытаюсь сделать это: без тонны инструкций if я хочу иметь опцию для отображения значения $var
(которое является либо A, B, C, D, E) по умолчанию, независимо от его положения в фактическом элементе select.
Как я мог это сделать?
Комментарии:
1. Я не думаю, что это можно сделать эффективно без
if
инструкции для каждой опции.
Ответ №1:
вы можете попробовать этот способ (ваши параметры должны быть в виде массива)
пусть
$optionList = array ('A','B','C','D','E','F');
$var = 'D';
затем
<select name="mySelect">
<?php foreach($optionList as $k) { ?>
<option value="<?php echo $k;?> <?php if($k === $var )
{ ?> selected="selected" <?php }// end of if ?> >
<?php echo $k;?></option>
<?php } // end of foreach ?>
</select>
Редактировать
или вы можете использовать if(in_array($var,$optionList)) { ? selected ="selected" <?php } ?>
Комментарии:
1. Я согласен с этим методом, но не понимаю, как он справляется с проблемой OP:
without a ton of if statements
. Для каждого параметра должен быть оператор if, несмотря ни на что, может быть, я неправильно понимаю вопрос?2. @Уэсли, он новичок в этом, я тоже сталкивался с подобными проблемами в первые дни моего программирования 🙂
3. ХОРОШО, это то, что я подумал. Однажды у меня был какой-то дурак, который предложил мне, что «лучший» способ сделать это (чтобы избежать операторов if) — использовать анализатор DOM и ввести атрибут: D
Ответ №2:
http://php.net/manual/en/control-structures.switch.php
Оператор switch аналогичен серии операторов IF для одного и того же выражения.