Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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在带有值数组的下拉列表中选择更多选项?_Php - Fatal编程技术网

如何使用php在带有值数组的下拉列表中选择更多选项?

如何使用php在带有值数组的下拉列表中选择更多选项?,php,Php,如何使用php在下拉列表中选择多个数组选项 输入: <?php $val = "22,33,55"; ?> <select name="choice" multiple="true"> <option value="11">11</option> <option value="22">22</option> <option value="33">33</option> <option value

如何使用php在下拉列表中选择多个数组选项

输入:

<?php
$val = "22,33,55";
?>
<select name="choice" multiple="true">
<option value="11">11</option>
<option value="22">22</option>
<option value="33">33</option>
<option value="44">44</option>
<option value="55">55</option>
</select>

11
22
33
44
55
我希望输出如下:

<select name="choice" multiple="true">
<option value="11">11</option>
**<option value="22">22</option>**
**<option value="33">33</option>**
<option value="44">44</option>
**<option value="55">55</option>**
</select>

11
**22**
**33**
44
**55**

11
**>22**
**>33**
44
**>55**

首先,将$val更改为数组。然后是select options use in_array()(),用于验证是否需要在给定选项中打印selected=“selected”

我想这是最简单的选择这里有一个解决方案

   <?php 
  $selected_value = "22,33,55";
  $selected_value = explode(',', $selected_value);
  $all_values = array(11,22,33,44,55); ?>
  <select name="choice[]" multiple="multiple"> <?php
  foreach($all_values as $option_value ) { 
    $selected = '';
    if(in_array($option_value, $selected_value)){
      $selected = "selected";
    }?>
    <option <?php echo $selected; ?> ><?php echo $option_value; ?></option><?php
  } ?>
   </selected


你所说的
选择
是什么意思?你想解析HTML吗?你所说的数组的多类型选择是什么意思?我个人会使用多个复选框,但下拉菜单并没有错;)现在请检查我的答案,希望对你有用有人删除了我上面的评论;-)
   <?php 
  $selected_value = "22,33,55";
  $selected_value = explode(',', $selected_value);
  $all_values = array(11,22,33,44,55); ?>
  <select name="choice[]" multiple="multiple"> <?php
  foreach($all_values as $option_value ) { 
    $selected = '';
    if(in_array($option_value, $selected_value)){
      $selected = "selected";
    }?>
    <option <?php echo $selected; ?> ><?php echo $option_value; ?></option><?php
  } ?>
   </selected