php检查isset和value是否为0
我正在使用CodeIgniter框架创建我的web服务。我有一个可选参数,我想根据该参数设置其值:-php检查isset和value是否为0,php,codeigniter,Php,Codeigniter,我正在使用CodeIgniter框架创建我的web服务。我有一个可选参数,我想根据该参数设置其值:- 如果它存在且值为0,则var2=a else var2=b 方法1 $foo = $this->post('foo'); if(isset($foo) && $foo == 0) { $var2 = 'a'; } else { $var2 = 'b'; } 方法2 $foo = $this-&g
- 如果它存在且值为0,则var2=a
- else var2=b
$foo = $this->post('foo');
if(isset($foo) && $foo == 0) {
$var2 = 'a';
} else {
$var2 = 'b';
}
方法2
$foo = $this->post('foo');
if(isset($foo)) {
if ($foo == 0)
$var2 = 'a';
else
$var2 = 'b';
} else {
$var2 = 'b';
}
当我没有发送
foo
时,这两种方法都返回$var2='a'
,因为您没有使用正确的方法来获取post值
试一试
您没有使用正确的方法获取post值 试一试 $this->input->post() 如果您试图检索的项不存在,则函数返回FALSE(布尔值) 所以你可以试试这样的方法
if(isset($_POST['foo']) && $_POST['foo'] == 0) {
$var2 = 'a';
} else {
$var2 = 'b';
}
或
$foo = $this->input->post('foo');
if($foo && $foo == 0){
$var2 = 'a';
} else {
$var2 = 'b';
$this->input->post()
如果您试图检索的项不存在,则函数返回FALSE(布尔值)
所以你可以试试这样的方法
if(isset($_POST['foo']) && $_POST['foo'] == 0) {
$var2 = 'a';
} else {
$var2 = 'b';
}
或
$foo = $this->input->post('foo');
if($foo && $foo == 0){
$var2 = 'a';
} else {
$var2 = 'b';
使用此代码
$foo=$this->input->post('foo')
echo“变量=”$var2
输出:
variable = a // if you enter 0 in foo field
variable = b // if you didn't enter 0
在if条件下,必须在0(零)左右使用单引号
if(isset($foo) && $foo == '0')
使用此代码
$foo=$this->input->post('foo')
echo“变量=”$var2
输出:
variable = a // if you enter 0 in foo field
variable = b // if you didn't enter 0
在if条件下,必须在0(零)左右使用单引号
if(isset($foo) && $foo == '0')
$foo=$this->input->post('foo')代码>
var_dump($foo)
检查$foo的值
然后写入candition,可能是$foo返回假值$foo=$this->input->post('foo')代码>
var_dump($foo)
检查$foo的值
然后写candition,可能是$foo返回假值试试下面,两者都一样
$foo = $this->input->post("username");
$var2 = (int)$foo === 0 ? 'a' : 'b';
或
注意:您正在使用isset()
检查空字符串。这就是为什么它总是返回true
希望这有帮助:)试试下面,两者都一样
$foo = $this->input->post("username");
$var2 = (int)$foo === 0 ? 'a' : 'b';
或
注意:您正在使用isset()
检查空字符串。这就是为什么它总是返回true
希望这有帮助:)使用='0'
修复了它
$foo = $this->post('foo');
if($foo === '0') {
$var2 = 'a';
} else {
$var2 = 'b';
}
使用==“0”
修复了它
$foo = $this->post('foo');
if($foo === '0') {
$var2 = 'a';
} else {
$var2 = 'b';
}
我认为你对无效答案投了反对票。这个if条件在任何条件下都不会返回true。我想你们会因为无效答案而被否决。此if条件对于任何条件都不会返回true。请在if条件之前检查echo$foo的值。请在if条件之前检查echo$foo的值。这不是他在问题中使用的同一代码吗?他错过了输入$这个->输入->发布('foo')是的,他在问题中漏掉了它。从另一个角度看,这是行不通的。他说它总是返回“b”。@我向大家道歉,我的意思是,当我想让它返回b
@ija时,它返回a
,因为如果foo
没有发送进来,你的答案在我想让它返回b
时,它返回了a。这不是他在问题中使用的同一个代码吗?他没有输入$这个->输入->发布('foo')是的,他在问题中漏掉了它。从另一个角度看,这是行不通的。他说它总是返回“b”。@IJas我向大家道歉,我的意思是当我希望它返回b
时,它返回a
。@IJas如果foo
没有被发送,你的回答是当我希望它返回b
时,它返回a
。