If语句比较整数


If statements comparison integers

我有一些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)。

  1. 小于还是等于100?是:echo 1。这告诉你该值确实是,而不是670的int值。
  2. 其余的没有通过布尔测试,因为它们没有通过这些条件。

要排除故障,请尝试:

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