如何将这个表单的输出转换为数组?

4
我将尝试创建一个表单,让用户可以从下拉菜单中选择多个选项。该表单大致如下:
<html>

<form method='post'>
<select name='tag' multiple>
<option value='opt1'>Option 1</option>
<option value='opt2'>Option 2</option>
<option value='opt3'>Option 3</option>
<option value='opt4'>Option 4</option>
<option value='opt5'>Option 5</option>
</select>
<input type='submit' Value='Submit'>
</form>

<? include('select.php'); ?>

</html>

当php文件包含以下简单代码:

<?php

if($_POST){

$tag = $_POST['tag'];
echo $tag;

}

?>

这段代码的最终效果是生成一个下拉菜单,你可以从中选择多个选项。但是,当你点击提交按钮时,只会回显用户选中的其中一个选项。
如何将用户选择的所有选项组成一个数组?
3个回答

13
尝试将代码改为 <select name='tag' multiple>
<select name='tag[]' multiple>

对于 PHP 端:

foreach ($_POST['tag'] as $selectedOption){
    echo $selectedOption."\n";
}

0
<select name='tag[]' multiple>

2
虽然这个代码块可能回答了问题,但最好能够为什么它能够这样做提供一点解释。 - Rakete1111

0

您可以将选择标签从这个更改为这个:

<select name='tag[]' multiple>

在PHP中:

foreach ($_POST['tag'] as $option_selected){
    echo $option_selected;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接