我想把两件事分开。
如果发送了$_POST["something"]
,但为空。
或
如果未发送$_POST["something"]
。
有办法吗?
您可能很想使用empty()
,但如果您可能的值包括0
,它会让您大吃一惊。最好使用以下内容:
if (isset($_POST['something'])) {
// the form field was sent ...
if ($_POST['something'] === '') {
// the form field was sent, but is empty
}
}
这是有效的,因为来自_GET/POST/_REQUEST超全局的所有数据都是字符串,无论它是否是数字。
您需要使用isset()
if (isset($_POST["something"])){
echo "The Post Variable 'something' was posted";
if (strlen($_POST["something"])==0)
echo "The Post Variable is blank";
else
echo "The Post Variable Contains ".$_POST['something'];
}
看向isset
和empty
。
http://php.net/manual/fr/function.isset.php
http://php.net/manual/fr/function.empty.php
编辑:下面的评论是正确的。空应用于空字符串,而不是数值、浮点值或字符串中的零.然而,如果您需要接受这些有效值,这里有一个函数:
function is_blank($value) {
return empty($value) && !is_numeric($value);
}
我使用php函数isset()来检查是否发送了POST
http://php.net/manual/en/function.isset.php
if($_POST["something"])如果存在这样的字段,将返回true
如果$_POST["something"]=="将执行其余