Попытка выбрать опцию в элементе с помощью PHP

#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 для одного и того же выражения.