如何检查$ _GET是否在所有元素中都有空值?

时间:2017-01-28 06:27:21

标签: php get

我有一个表单,如果用户没有传递任何内容,则url查询将具有一个空值的元素名称:

 xxx.com/?id=&name=

我想根据元素中的值检查$ _GET会话是否为空。 if(!empty($ _ GET))不起作用,因为它考虑了数组元素。是否有一行if语句可以在不使用foreach循环的情况下执行此操作?

2 个答案:

答案 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...
 }