Php 在empty()函数之后未获取值

Php 在empty()函数之后未获取值,php,Php,我正在用post发送一个参数。此参数包含一个零值 当我尝试使用empty方法时,如果参数不为空,它应该返回1,如果参数为零,它应该返回0 如果我正在使用此代码: var_dump(empty($_REQUEST['gender_preferences']) ); var_dump(!empty($_REQUEST['gender_preferences']) ); 我得到的结果是:1 如果我正在使用此代码: var_dump(empty($_REQUEST['gender_preferenc

我正在用post发送一个参数。此参数包含一个零值

当我尝试使用empty方法时,如果参数不为空,它应该返回1,如果参数为零,它应该返回0

如果我正在使用此代码:

var_dump(empty($_REQUEST['gender_preferences']) );
var_dump(!empty($_REQUEST['gender_preferences']) );
我得到的结果是:1

如果我正在使用此代码:

var_dump(empty($_REQUEST['gender_preferences']) );
var_dump(!empty($_REQUEST['gender_preferences']) );
我没有得到0值


为什么会发生这种情况?我如何修复它?

以下内容被认为是空的:

""  /* (an empty string) */
0  /* (0 as an integer)*/
"0"  /* (0 as a string)*/
NULL
FALSE
array() /*  (an empty array)*/
var $var;  /* (a variable declared, but without a value in a class)*/
尝试使用isset代替


以下内容被认为是空的:

""  /* (an empty string) */
0  /* (0 as an integer)*/
"0"  /* (0 as a string)*/
NULL
FALSE
array() /*  (an empty array)*/
var $var;  /* (a variable declared, but without a value in a class)*/
尝试使用isset代替


empty函数确定变量是否为空,并且您请求的变量包含值,即0

检查变量是否包含零

if($_REQUEST['gender_preferences']){
  //value is not zero
}else{
  //value is zero
}

empty函数确定变量是否为空,并且您请求的变量包含值,即0

检查变量是否包含零

if($_REQUEST['gender_preferences']){
  //value is not zero
}else{
  //value is zero
}

1什么是零值?如果参数不是空的,2应该返回1-嗯?这与它的名字LOL 3不矛盾吗?不清楚你到底想做什么。1什么是零值2应该返回1如果参数不是空的-嗯?这与它的名字LOL 3不矛盾吗?不清楚你到底想做什么。只是。。。。不要。检查最后一列:just。。。。不要。检查最后一列:你怎么能在不知道isset想要做什么的情况下建议他呢?那太不负责任了。把问题看清楚,他描述了他想要什么。你怎么能在不知道他想要做什么的情况下建议isset?那太不负责任了。把问题看清楚,他描述了他想要什么。