我正在使用CodeIgniter框架来创建我的Web服务。我有一个可选参数,我想根据以下内容设置其值: -
方法1
$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';
}
当我不发送$var2 = 'a'
时,这两种方法都会返回foo
。
答案 0 :(得分:2)
尝试以下,两者都相同。
$foo = $this->input->post("username");
$var2 = (int)$foo === 0 ? 'a' : 'b';
OR
$foo = $this->input->post("username");
if((int)$foo === 0)
$var2 = 'a';
else
$var2 = 'b';
注意:您正在使用 isset()
检查空字符串。这就是它始终返回 true
的原因。
希望这会有所帮助:)
答案 1 :(得分:1)
您没有使用正确的方法来获取帖子值 试试
$foo = $this->input->post('foo');
if(empty($foo)) {
$var2 = 'a';
} else {
$var2 = 'b';
}
答案 2 :(得分:1)
使用此代码
$ foo = $ this-> input-> post('foo');
if(isset($foo) && $foo == '0') {
$var2 = 'a';
} else {
$var2 = 'b';
}
echo“variable =”。 $ VAR2;
输出:
variable = a // if you enter 0 in foo field
variable = b // if you didn't enter 0
如果条件
,您必须在0(零)附近使用单引号if(isset($foo) && $foo == '0')
答案 3 :(得分:1)
使用=== '0'
修正了它。
$foo = $this->post('foo');
if($foo === '0') {
$var2 = 'a';
} else {
$var2 = 'b';
}
答案 4 :(得分:0)
<强> $这 - &GT;输入 - &GT;柱()强>
如果您尝试检索的项目不存在,则该函数返回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';
答案 5 :(得分:0)
$foo = $this->input->post('foo');
var_dump($ foo);
检查$ foo的值 然后写Candition,可能是$ foo返回false值