Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
397 views
in Technique[技术] by (71.8m points)

if statement - Compare integers and strings PHP

Need to capture two variables via POST.

If they are different integers, save $mensalidade = 4 and a integer and any other state save $mensalidade=8.

I try this but dont work..

if (is_int($_POST['linha_ida']) != is_int($_POST['linha_volta'])) {

   $mensalidade= $_POST['mensalidade']=4;

} else  {

   $mensalidade= $_POST['mensalidade']=8;
}

Broke a little more head and now it's perfect! Thanks to all

The code looked like this

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;
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Just use the (int) parser to convert the string to an integer.

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;
}

Taken from the Question comments from caCtus

caCtus: is_int() returns true or false if the parameter is an integer or not. If you compare is_int($iamaninteger) to is_int($iamanintegertoo), you compare true and true, not your variables' values.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...