codeigniter 中的 if 语句
if statement in codeigniter
我在控制器中有这样的代码:
$date = $this->input->post('date');
$shift = $this->input->post('shift');
$exca_id = $this->input->post('exca_id');
$status = $this->input->post('id_status');
if ($status !== 4 ) {
$fleet = date('ymd',strtotime(str_replace('-', '/', $date))).$shift.$status;
}
else
{
$fleet = date('ymd',strtotime(str_replace('-', '/', $date))).$shift.$exca_id;
}
$data = array(
'date' => $date,
'shift' => $shift,
'exca_id' => $exca_id,
'fleet_status' => $fleet,
'id_status' => $status,
);
if 语句不正确,当我输入 id_status == 4 时,上面的代码将 运行 else 但 else 不是 运行ning。
换句话说,在上面的代码中,当我输入 id_status == 4
$fleet = date('ymd',strtotime(str_replace('-', '/',$date))).$shift.$status;
当我输入 id_status == 4 时 应该 运行 将 运行
$fleet = date('ymd',strtotime(str_replace('-', '/', $date))).$shift.$exca_id;
你能帮我解决这个问题吗?
Replace this code
if ($status != 4 ) {
$fleet = date('ymd',strtotime(str_replace('-', '/', $date))).$shift.$status;
}
else
{
$fleet = date('ymd',strtotime(str_replace('-', '/', $date))).$shift.$exca_id;
}
==
(松散等式)的反义词是!=
===
(严格相等)的反义词是!==
您可能正在比较字符串 '4'
和数字 4
。这两个值松散相等但严格不相等,所以你想要!=
而不是!==
另一个修复方法是将 $status
严格与字符串 '4'
进行比较,因为输入肯定会返回一个字符串。
例如
$status !== '4'
或者,将输入转换为整数可能是最好的解决方法,因为它向您团队中的其他人表明您希望将状态设为数字。
(int)$status !== 4
我在控制器中有这样的代码:
$date = $this->input->post('date');
$shift = $this->input->post('shift');
$exca_id = $this->input->post('exca_id');
$status = $this->input->post('id_status');
if ($status !== 4 ) {
$fleet = date('ymd',strtotime(str_replace('-', '/', $date))).$shift.$status;
}
else
{
$fleet = date('ymd',strtotime(str_replace('-', '/', $date))).$shift.$exca_id;
}
$data = array(
'date' => $date,
'shift' => $shift,
'exca_id' => $exca_id,
'fleet_status' => $fleet,
'id_status' => $status,
);
if 语句不正确,当我输入 id_status == 4 时,上面的代码将 运行 else 但 else 不是 运行ning。
换句话说,在上面的代码中,当我输入 id_status == 4
$fleet = date('ymd',strtotime(str_replace('-', '/',$date))).$shift.$status;
当我输入 id_status == 4 时 应该 运行 将 运行
$fleet = date('ymd',strtotime(str_replace('-', '/', $date))).$shift.$exca_id;
你能帮我解决这个问题吗?
Replace this code
if ($status != 4 ) {
$fleet = date('ymd',strtotime(str_replace('-', '/', $date))).$shift.$status;
}
else
{
$fleet = date('ymd',strtotime(str_replace('-', '/', $date))).$shift.$exca_id;
}
==
(松散等式)的反义词是!=
===
(严格相等)的反义词是!==
您可能正在比较字符串 '4'
和数字 4
。这两个值松散相等但严格不相等,所以你想要!=
而不是!==
另一个修复方法是将 $status
严格与字符串 '4'
进行比较,因为输入肯定会返回一个字符串。
例如
$status !== '4'
或者,将输入转换为整数可能是最好的解决方法,因为它向您团队中的其他人表明您希望将状态设为数字。
(int)$status !== 4