比较整数和字符串PHP


Compare integers and strings PHP

需要通过POST捕获两个变量。

如果它们是不同的整数,则保存$mensalidade= 4,并且是整数,任何其他状态保存$mensalidade=8。

我试了一下,但不工作。

if (is_int($_POST['linha_ida']) != is_int($_POST['linha_volta'])) {
   $mensalidade= $_POST['mensalidade']=4;
} else  {
   $mensalidade= $_POST['mensalidade']=8;
}

头又破了一点,现在完美了!Thanks to all

代码如下所示

if($linha_ida === $linha_volta || preg_match( '/[A-Z]/' , $linha_volta )|| preg_match( '/[A-Z]/' , $linha_ida )){
    $mensalidade= $_POST['mensalidade']=8;
    }  else{
    $mensalidade= $_POST['mensalidade']=4;
}

使用(int)解析器将字符串转换为整数。

if ((int)$_POST['linha_ida']) != (int)($_POST['linha_volta']) && is_int($_POST['linha_ida']) && is_int($_POST['linha_volta']) {
    $mensalidade= $_POST['mensalidade']=4;
} else  {
    $mensalidade= $_POST['mensalidade']=8;
}

摘自caCtus的Question comments

仙人掌:如果参数为整数,Is_int()返回true或false。如果比较is_int($iamaninteger)和is_int($iamanintegertoo),比较的是真和真,而不是变量的值。

if (is_int($_POST['linha_ida']) && is_int($_POST['linha_volta']) && $_POST['linha_volta'] !=  $_POST['linha_ida']) {
   $mensalidade= $_POST['mensalidade']=4;
} else  {
    $mensalidade= $_POST['mensalidade']=8;
}