多选列表因此命名为:<select name="list[]" multiple>
提交表单时,如果用户没有选择任何内容,那么我希望忽略该输入。 我在尝试:
if (isset($_POST["list"]))
和
if (count($_POST["list"]))
但是会抛出错误,大概是因为除非选择了至少一个项目,否则PHP不会接收数组。如果用户确实选择了至少一个选项,则没有错误。
投诉是“list”是一个不存在的索引。
我至少需要以下解决方案之一:
强制提交发送一个空数组,以便$_POST
中的索引合法,或者
我需要测试索引变量的存在而不会抛出错误。
我也尝试使用try-catch
语法,但也遇到问题。我有一个单独的帖子可以解决这个问题。
有关检测没有选择任何内容的列表框的任何建议吗?
谢谢, 德纳
答案 0 :(得分:2)
尝试使用empty()
:
if (!empty($_POST["list"])) {
对于您的情况,!empty()
如果TRUE
设置为则为list[]
,如果至少有一个值则为
来自文档:
如果var存在且具有非空的非零值,则返回FALSE
。否则返回TRUE
。
以下内容被认为是空的:
""
(空字符串)0
(0
为整数)0.0
(0
作为花车)"0"
(0
为字符串)NULL
FALSE
array()
(空数组)$var;
(声明的变量,但没有值)