从表单接收数据时,我曾多次看到以下检查:
if (isset($_POST['campo1'])) {
// Resto de código
}
如果值为$_POST['campo1']
空怎么办?
或者在许多其他情况下,我看到了以下检查:
if (isset($_POST['campo1']) && !empty($_POST['campo1'])) {
// Resto de código
}
和?$_POST['campo1']
同时检查值是完全多余的。isset()
!empty()
isset()
所以我的问题是:如何以及何时empty()
正确使用它们?
根据isset()文档:
例如:
true
即使变量为空,它也会始终返回给您,并且应该使用函数进行检查empty()
:什么时候应该使用
isset()
?只要您想检查变量是否存在,一个很好的例子就是如果您想知道表单是否已提交:
根据empty()文档:
使用
empty()
以下表达式被视为空并返回true
:重要的是要知道,如果变量不存在,则不会生成警告。
这意味着它
empty()
本质上是以下内容的简明等价物:!isset($var) || $var == false
.因此,如果我们同时用and检查同一个变量,那将是多余的。
isset()
empty()
一个如何使用它的示例,同时
isset()
您!empty()
想从表单接收数据:伊塞特
Isset 你想知道的时候就用它
示例,file1.php
如果您想验证文件是否接收 POST 变量,这可能很有用,因为您可以通过url localhost/myfolder/file1.php访问,如果您像这样访问,您不会通过 POST 发送任何值,因此它不会输入如果。
另一个例子:
资料来源:isset 文档
空的
Empty 就是知道一个变量是否为空。
PHP 认为是空的:
来源:空文档
将isset与empty一起使用是否多余?
不,因为可以定义一个变量但其值为 0,那么有必要首先评估它不为空,如果它不为空,则评估它不为空,以防你想返回消息给用户表明他必须输入一个值,或者如果您输入了它,则表明它不能是 0 或空格,举两个例子(一般格式)。
结论: isset 和 empty 对变量的评估不同。如果变量为空,则为 isset,如果为空,则为空,并且可以为 NULL 或任何前一个列表。
出色的索引您还可以使用以下两种语句使用此表格: