Php Don';我不想在半天和短期休假案例中插入0值
它在Php Don';我不想在半天和短期休假案例中插入0值,php,Php,它在leave_type=11中运行良好,但在leave_type=3中仍然插入0 我不知道怎么解决这个问题 休假类型=3为半天 leave\u type=11适用于短期休假日 'days' => ($this->input->post('leave_type') == 3) ? 0.5 : ($this->input->post('leave_type') == 11) ? 0 :$days_between , 请提供解决方案请尝试以下方法: 'days' =
leave_type=11
中运行良好,但在leave_type=3
中仍然插入0
我不知道怎么解决这个问题
休假类型=3
为半天
leave\u type=11
适用于短期休假日
'days' => ($this->input->post('leave_type') == 3) ? 0.5 : ($this->input->post('leave_type') == 11) ? 0 :$days_between ,
请提供解决方案请尝试以下方法:
'days' => ($this->input->post('leave_type') == 3) ? '0.5' : (($this->input->post('leave_type') == 11) ? 0 :$days_between) ,
请尝试以下方法:
'days' => ($this->input->post('leave_type') == 3) ? '0.5' : (($this->input->post('leave_type') == 11) ? 0 :$days_between) ,
这与您的数据库字段数据类型有关。您必须将该字段数据类型设置为整数。您需要将其设置为浮点。这与您的数据库字段数据类型有关。您必须将该字段数据类型设置为整数。您需要将其设置为浮点。这是因为您没有对三元运算符进行分组。
($this->input->post('leave_type') == 3) ? 0.5 : (($this->input->post('leave_type') == 11) ? 0 :$days_between)
^ ^
这里的解释是因为在原始代码中,它首先计算左侧的条件,即($this->input->post('leave_type')==3)?0.5:($this->input->post('leave_type')==11)
在您的例子中,应该是0.5
。但是,由于右侧有另一个三元运算符,0.5
将转换为布尔类型,即true
。因此,由于传递给下一个三元运算符的求值是true,因此返回值将是>0
true ? 0 : $days_between
这是因为您没有对三元运算符进行分组
($this->input->post('leave_type') == 3) ? 0.5 : (($this->input->post('leave_type') == 11) ? 0 :$days_between)
^ ^
这里的解释是因为在原始代码中,它首先计算左侧的条件,即($this->input->post('leave_type')==3)?0.5:($this->input->post('leave_type')==11)
在您的例子中,应该是0.5
。但是,由于右侧有另一个三元运算符,0.5
将转换为布尔类型,即true
。因此,由于传递给下一个三元运算符的求值是true,因此返回值将是>0
true ? 0 : $days_between
首先从末尾删除逗号并添加分号,然后检查数据库字段是否为整型,然后使其浮动。首先从末尾删除逗号并添加分号,然后检查数据库字段是否为整型,然后使其浮动。