php – 如何区分具有相同名称的两个多选列表

对于我正在构建的系统,我需要查看第一个列表中的哪些选项(带有POST请求)以及第二个列表中的选项.

<form method="post">
    <select name="cars[]" multiple>
        <option selected>test</option>
        <option selected>test2</option>
        <option>test3</option>
        <option>test4</option>
    </select>
    <select name="cars[]" multiple>
        <option>hai</option>
        <option>hai2</option>
        <option selected>hai3</option>
        <option selected>hai4</option>
    </select>
    <input type="submit">
</form>

现在他们这样来了:

Array
(
    [cars] => Array
        (
            [0] => test
            [1] => test2
            [2] => hai3
            [3] => hai4
        )
)

实际上我想要检索除’haiX’选项之外的’testX’选项.现在我看不出哪个来自第一个列表,哪个来自第二个列表.当然我知道我也可以使第二个列表的名称与第一个列表的名称不同,但这是有充分理由我想这样做..

最佳答案 通过在表单中​​创建多维数组来划分类别:

<form method="post">
    <select name="cars[0][]" multiple>
        <option selected>test</option>
        <option selected>test2</option>
        <option>test3</option>
        <option>test4</option>
    </select>
    <select name="cars[1][]" multiple>
        <option>hai</option>
        <option>hai2</option>
        <option selected>hai3</option>
        <option selected>hai4</option>
    </select>
    <input type="submit">
</form>

然后像这样阅读:$_POST [‘cars’] [0]为第一组,$_POST [‘cars’] [1]为第二组

点赞