我做了一些搜索而没有想出任何东西,我确信这很明显。
基本上我正在努力研究是否已经通过表单中的GET传递了任何内容。
我知道如何检查个别元素,但我只是想快速检查一下是否有任何传递
干杯
答案 0 :(得分:9)
使用count($_GET)
时要小心。如果您提交的表单包含空值,则仍会为字段创建密钥,而您的count()
将大于0,empty($_GET)
将为false。
<?php
print_r($_GET);
?>
<form action="" method="get">
<input type="text" name="name">
<textarea name="mytext"></textarea>
<input type="submit">
</form>
确保字段实际上不为空:
function ne($v) {
return $v != '';
}
echo count($_GET); // prints 2
echo count(array_filter($_GET, 'ne')); // prints 0
答案 1 :(得分:7)
这应该做的工作:
if (!empty($_GET))
{
}
答案 2 :(得分:1)
if ( count($_GET) > 0 ) echo("I hear you!");
答案 3 :(得分:1)
if(empty($_GET)) { /* no parameters passed*/}
答案 4 :(得分:1)
只需通过count($ _ GET)检查$ _GET数组的长度。 如果没有通过它应该是0
答案 5 :(得分:0)
简单'只是':if($_GET){ /* parameters passed*/}
(对于当前请求)用于检查GET
或POST
请求中是否传递了任何查询字符串。
这是因为布尔false
上下文中的空数组为if($x)
请参阅:http://php.net/manual/en/types.comparisons.php
所以确实不需要count()
或empty()
。