2012-10-03 29 views
0

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

print_r($_POST['arrayId']); 

和它打印的预期值。 但是,如果我这样做:

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

f的印刷,以及应该执行的代码是没有的。这怎么可能?

+0

什么是 “预期值”? –

+0

有些不可能,'$ _POST ['arrayId']'是什么? '0'? –

+0

这是一个数组键,这次是0 – Veltar

回答

3

做到这一点,相反,它会检查是否关键是目前的职位数组中,无论价值。也适用于NULLfalse0和被视为 “空” 值的任何其他值...

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

你打我吧...... :-) –

1

empty()如果值为0,则返回true。

变化有:

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

验证输入 '$ VAR' 空()函数

空($ var)

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

以下东西被认为是空的:

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

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

相关问题