$ _post ['value']存在但是当我用空检查它时它返回false

时间:2012-10-03 09:23:49

标签: php

我有一个后变量,必须检查它是否为空。我看一下这个变量的值:

print_r($_POST['arrayId']);

并打印出预期值。 但是,如果我这样做:

if(!empty($_POST['arrayId'])) {
    // some stuff
} else {
    echo "f";
}
打印

,并且不应该执行应该执行的代码。这怎么可能?

3 个答案:

答案 0 :(得分:3)

这样做,它将检查post数组中是否存在键,而不管值是什么。也适用于NULLfalse0以及被视为“空”值的任何其他值......

if(array_key_exists('arrayId', $_POST)) {
    // some stuff
} else {
    echo "f";
}

答案 1 :(得分:1)

如果值为empty()

0将返回true。

改变:

if(isset($_POST['arrayId']) && strlen($_POST['arrayId'])) {
    // some stuff
} else {
    echo "f";
}

答案 2 :(得分:-1)

验证输入'$ var'到empty()函数

  

空($变种)

     

如果var存在并且具有非空的非零值,则返回FALSE。   否则返回TRUE。

     

以下内容被认为是空的:

     

“”(空字符串)0(0作为整数)   0.0(0作为浮点数)“0”(0作为字符串)NULL FALSE array()(空数组)$ var; (声明的变量,但没有值)

     

http://php.net/manual/en/function.empty.php