Php $\u post[';value';]存在,但当我将其检查为空时,它返回false

Php $\u post[';value';]存在,但当我将其检查为空时,它返回false,php,Php,我有一个post变量,必须检查它是否为空。我这样看待变量的值: print_r($_POST['arrayId']); 然后打印期望值。 但是,如果我这样做: if(!empty($_POST['arrayId'])) { // some stuff } else { echo "f"; } f已打印,而应执行的代码未打印。这怎么可能呢?empty()如果值为0,则返回true 更改为: if(isset($_POST['arrayId']) && strle

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

print_r($_POST['arrayId']);
然后打印期望值。 但是,如果我这样做:

if(!empty($_POST['arrayId'])) {
    // some stuff
} else {
    echo "f";
}
f已打印,而应执行的代码未打印。这怎么可能呢?

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

更改为:

if(isset($_POST['arrayId']) && strlen($_POST['arrayId'])) {
    // some stuff
} else {
    echo "f";
}
empty()
如果值为
0
,则返回true

更改为:

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

如果执行此操作,它将检查post数组中是否存在键,而不管值是多少。也适用于
NULL
false
0
和任何其他被视为“空”值的值

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

如果执行此操作,它将检查post数组中是否存在键,而不管值是多少。也适用于
NULL
false
0
和任何其他被视为“空”值的值

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

验证empty()函数的输入“$var”

空($var)

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

以下内容被认为是空的:

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


验证empty()函数的输入“$var”

空($var)

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

以下内容被认为是空的:

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


什么是“期望值”?有些不可能,
$\u POST['arrayId']
是什么
0
?这是一个数组键,这次是0Oh 0被认为是空的。即使值为0,我如何检查它是否不是空的?
isset($\u POST['arrayId'])和&strlen($\u POST['arrayId'])
什么是“期望值”?有些不可能,
$\u POST['arrayId']
是什么
0
?这是一个数组键,这次是0Oh 0被认为是空的。即使值为0,如何检查它是否为空?
isset($\u POST['arrayId'])和&strlen($\u POST['arrayId'])