rkt rkt -4 years ago 108
PHP Question

checking if a number is float in PHP

This is really weird. I have this piece of code.

$rewardAmt = $amt;
if(is_float($rewardAmt)){
print_r("is float");die;
} else {
print_r("is not float"); die;
}


value of $amt is 0.01. But it is going into else condition. So I did a var_dump of $amt. it says string(4)
So I decided to typecast $amt

$rewardAmt = (float)$amt;


But the problem with this is even if the value of $amt is 1, it still gets typecast to float and goes into if condition, which shouldn't happen. Is there any other way to do this ? Thanks

Answer Source

If you change the first line to

$rewardAmt = $amt+0;

$rewardAmt should be cast to a number.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download