输入多个 select

Multiple select in input

我找不到错误。我看到了多个例子,他们以同样的方式拥有它。但是给我下一个错误:

Warning: Invalid argument supplied for foreach() in whatever on line 180

这是 html:

<select class="form-control" id="selected-seats" name="selected-seats[]" multiple="">
    <option value="cart-item-4_9">R4 S9</option>
    <option value="cart-item-4_10">R4 S10</option>
</select>

这是php:

 $seat = (isset($_POST['selected-seats']) ? $_POST['selected-seats']:'');
                        //if (is_array($seat)) {                    
                            foreach ($seat as $selectedOption)
                                echo "Seats ".$selectedOption."\n";
                        //}

不应该是:

 $seat = (isset($_POST['selected-seats']) ? $_POST['selected-seats']: **array()**);

我假设它遇到了错误条件并且字符串对于循环无效。

您需要保持数据的一致性。您期待一个数组,但给它一个空字符串。

改用它作为你的三元组:

$seat = (isset($_POST['selected-seats']) ? $_POST['selected-seats']:array());