我有一个表单,如果用户没有传递任何内容,则url查询将具有一个空值的元素名称:
xxx.com/?id=&name=
我想根据元素中的值检查$ _GET会话是否为空。 if(!empty($ _ GET))不起作用,因为它考虑了数组元素。是否有一行if语句可以在不使用foreach循环的情况下执行此操作?
答案 0 :(得分:0)
使用in_array
方法的最简单方法:
echo in_array("", $_GET, true)?"has empty elements":"all elements has values";
其他方法是使用array_filter
来过滤值为空的数组元素
echo count($_GET) != count(array_filter($_GET))?"has empty elements":"all elements has values";
还要确保检查是否
count($_GET) > 1
在两种情况下
答案 1 :(得分:0)
你必须检查变量而不是数组。
if (!empty($_GET['id']) || !empty($_GET['name']) ) {
//code goes here...
}