我理解如果$var = array()
,$var
将返回true,因为即使数组为空,它仍然是一个设置变量。
但是$_GET
和$_POST
不仅仅是数组,而是由PHP生成的数组。
为什么PHP甚至设置这些变量,如果没有什么可以放入它们?这背后有什么逻辑我错过了吗?
答案 0 :(得分:2)
您应该使用empty()
功能检查它们是否为空,或使用count()
功能检查元素数量。
总是设置数组,问题是:它们是否包含元素?
答案 1 :(得分:1)
因此,$ _GET始终可用。这是语言开发人员的决定。
http://www.php.net/manual/en/language.variables.superglobals.php
答案 2 :(得分:1)
$_GET
和$_POST
都是超级全局变量,因此这些变量已set
为Array
,因此您应使用empty()
方法代替{{} 1}}
isset()