php intval的测试代码发现问题

2018-09-07 21:40

阅读:210

  

<?php
$o=0.1;
for($a=1;$a<100;$a++){
$o+=0.1;
if(intval($o)){
print(true);
}else{
print(false);
}
}
?>

结果:
intval(0.2)=0false
intval(0.3)=0false
intval(0.4)=0false
intval(0.5)=0false
intval(0.6)=0false
intval(0.7)=0false
intval(0.8)=0false
intval(0.9)=0false
intval(1)=0false
intval(1.1)=1true
intval(1.2)=1true
intval(1.3)=1true
intval(1.4)=1true
intval(1.5)=1true
intval(1.6)=1true
intval(1.7)=1true
intval(1.8)=1true
intval(1.9)=1true
intval(2)=2true
intval(2.1)=2true
intval(2.2)=2true
intval(2.3)=2true
intval(2.4)=2true
intval(2.5)=2true
intval(2.6)=2true
intval(2.7)=2true
intval(2.8)=2true
.....

发现intval(1)竟然返回0

不测试不会知道的

假象:
print(<br/>intval(\1.0\)=.intval(1.0));
print(<br/>intval(1.0)=.intval(1.0));
print(<br/>intval(1)=.intval(1));

intval(1.0)=1
intval(1.0)=1
intval(1)=1


评论


亲,登录后才可以留言!