if语句php中的比较运算符

时间:2013-12-31 19:06:57

标签: php arrays

好吧我有一个lvlcheck.php,可以根据经验比较玩家的体验并输出正确的lvl。但我能让它发挥作用。当我回复$ lvl时,没有任何东西出现。就像lvlcheck.php中的所有语句都失败一样。 下面是我的代码。

这是我绘制用户统计体验的数组

$sql = 'SELECT a.user, a.' . $stat1 .', b.' . $stat2 .'
    FROM curstats a, experience b
    WHERE a.user = b.user order by ' . $stat2 .' desc LIMIT 15';
$result = mysql_query($sql) or die(mysql_error());
 array();
$rank = 1;
while($row = mysql_fetch_assoc($result)) {

   ?>

<tr>
<td align="center"><font color="#d3d3d3"><?php echo $rank++; ?></font></td>
<td align="center"><font color="#d3d3d3"><?php echo $row['user'];?></font></td>
<td align="center"><font color="#d3d3d3"><?php echo $row[$stat2]; ?></font></td>
<td align="center"><font color="#d3d3d3"><?php
  $stat3 = $row['stat2'];   
require 'includes/lvlcheck.php'; 
echo $lvl;  
?></font></td></tr>

 <?php
}  
 ?>

这是我的lvl检查。代码。

<?php 
if($stat3 > 0 && $stat3 < 83) {
$lvl = "1";
}
if($stat3 > 83 && $stat3 < 174) {
$lvl = "2";
}
if($stat3 > 174 && $stat3 < 276) {
$lvl = "3";
}
if($stat3 > 276 && $stat3 < 388) {
$lvl = "4";
}
if($stat3 > 388 && $stat3 < 512) {
$lvl = "5";
}

我知道变量$ stat1和$ stat2正确分配,因为它会显示正确的体验,只是不会将体验转换为lvl输出$ lvl的任何想法?

2 个答案:

答案 0 :(得分:2)

< 83表示小于83,因此最高有效值为82

> 83表示大于83,因此最低有效值为84

如果您检查83,则无法获得结果。

<= 83表示小于或等于,因此将包括83。例如......

答案 1 :(得分:0)

我必须删除$stat2

$stat3= $row['$stat2'];周围的引号

现在,它显示为$stat3 = $row[$stat2];

相关问题