PHP If 语句if (!$_POST)- 是什么!$_POST意思?
例如,在我查看的一些遗留代码中,代码如下:
<form action="paypalorders.php" method="POST">
<input type="hidden" name="orderList" value="' . $orderList . '">
<input type="submit" value="Archive">
</form>';
if (!$_POST) {
file_put_contents('/orders.txt', $output_line1);
}
Run Code Online (Sandbox Code Playgroud)
我看了一堆其他线程,但没有看到这个确切的问题,所以我试图找出它是什么。我见过像这样格式化的线程:
if(!empty($_POST)) {
Run Code Online (Sandbox Code Playgroud)
但与我正在寻找的并不完全相同。它是一样的东西,只是速记吗?我不确定,这就是我问的原因。我已经谷歌搜索并查看了一些线程,但我仍然不确定。
谢谢你。
的!(不)逻辑运算符返回true如果其右侧的说法是不正确的。它强制将参数评估为布尔值。在这种情况下,当$_POST数组被评估为布尔值时,它将评估true它是否为空,false如果它是。(请参阅转换为 boolean。)
if (!$_POST) {应该是检测是否安全的方法什么是$_POST,如果你想这样做。empty在这种情况下不是必需的,因为总是设置超全局变量,并且由于您没有引用特定的键,因此您无需担心未定义的索引通知。
我认为这也是值得一提的是,如果检查的唯一的一点就是看什么的请求类型被发送,它可能是更好的只是直接检查请求方法,因为!$_POST它并不意味着请求不是一个职位,因为发布请求可以为空。