简化将 html 下拉列表的选项值检索到 php 数组的过程


Simplify retrieving the option values for an html dropdown into a php array

我正在尝试获取下拉html菜单的选项并将选项放入php数组中。

下拉列表包含数值,表示文本短语的前 3 个首选项,这些首选项将包含在电子邮件中。

我有一个工作模型来做到这一点,但代码似乎有点笨拙,我想知道是否有更简单的方法可以做到这一点?

我首先在 html 中创建下拉列表:

<div class="first_class">
  <div class="left_col">
    <p>
      <select name="choice_2">
        <option value="0" selected>_</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
      </select>
    </p>
  </div>

然后我从 $_POST 中获取下拉值并将它们放入数组中

$choices = array('choice_2' => $_POST['choice_2']);

然后,我使用 switch 语句将$choices数组值与文本短语相关联:

foreach ($choices as $key => $users_choice) {
  if ($users_choice > 0) {
    switch ($key) {
      case "choice_2":
        $choices_text[$choices_index++] = "This is the phrase the user selected as his choice"
        break;
}

现在$choices_text是一个包含用户选择文本的新数组。

它有效,但这似乎是将下拉列表中的选项转换为文本短语的一种非常迂回的方式。

我错过了什么吗?提前感谢您的帮助。

是的,有点笨拙。您实际上不需要重新分配 post 数组或使用开关。仅使用 post 值为选项数组中的文本编制索引怎么样?例如

$text_you_want=$choices_text[$_POST['choice_2']];