我有一些if语句从mysql数据库读取一个变量,然后根据该变量回显出一个数字。由于某种原因,下面的代码只回显"1",我不知道为什么。($x是670,但它仍然返回1)
代码: //connect to database and assign $x a int from database
if ($x<=100){
echo 1;
}
if ($x>=500 && $x<1000){
echo 2;
}
if ($x>=1000 && $x<2500){
echo 3;
}
if ($x>=2500 && $x<5000){
echo 4;
}
if ($x>=5000 && $x<7500){
echo 5;
}
if ($x>=7500 && $x<100000){
echo 6;
}
if ($x>=10000){
echo 7;
}
编辑:我做了一些愚蠢的在我的代码连接到数据库。不管怎样,谢谢你的帮助。我很感激。
似乎不是您期望的值(int值为670)。
- 小于还是等于100?是:echo 1。这告诉你该值确实是,而不是670的int值。
- 其余的没有通过布尔测试,因为它们没有通过这些条件。
要排除故障,请尝试:
echo $x;
可能在调用MySQL后显式地将该值转换为/:
$x = (int)$x;
如果这确实是php,你的$x肯定不是670。
请看这里的例子
你能提供你从数据库读取x的代码吗?
试试这个:
$x = $x + 0.0;
if ($x<=100){
echo 1;
}
if ($x>=500 && $x<1000){
echo 2;
}
if ($x>=1000 && $x<2500){
echo 3;
}
if ($x>=2500 && $x<5000){
echo 4;
}
if ($x>=5000 && $x<7500){
echo 5;
}
if ($x>=7500 && $x<100000){
echo 6;
}
if ($x>=10000){
echo 7;
}