Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简化在php数组中检索html下拉列表的选项值_Php_Html_Arrays_Forms - Fatal编程技术网

简化在php数组中检索html下拉列表的选项值

简化在php数组中检索html下拉列表的选项值,php,html,arrays,forms,Php,Html,Arrays,Forms,我试图获取下拉html菜单的选项,并将这些选项放入php数组中 下拉列表包含数字值,表示将包含在电子邮件中的文本短语的前3个首选项 我有一个工作模型来做这件事,但代码似乎有点笨拙,我想知道是否有更简单的方法来做这件事 我首先在html中创建下拉列表: <div class="first_class"> <div class="left_col"> <p> <select name="choice_2"> &l

我试图获取下拉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>
然后,我使用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\u text是一个包含用户选择文本的新数组

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


我错过了什么吗。提前谢谢你的帮助。

是的,有点笨重。您实际上不需要重新分配post数组或使用开关。使用post值对选项数组中的文本进行索引怎么样?乙二醇

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

你真的相信
foreach($key=>$users\u choice)
有任何意义吗?可以执行一次以上吗?你的问题不清楚
$choices\u index++
未定义的an没有意义。抱歉,但是@MikeMiller的回答更有意义。但是你写的
它是有效的,但这似乎是一种非常迂回的方式
我不明白它是如何工作的。但它总是将
$choices\u text[$choices\u index++]=“这是用户选择作为其选择的短语”
独立于用户选择发布
$text_you_want=$choices_text[$_POST['choice_2']];