1

我正在尝试比较两个数字,并向大的数字添加一个 HTML 类——在本例中是视频游戏的统计信息。现在我可以做$player1[stat]-$player2[stat],如果结果是否定的,player2 有一个很大的值,或者只是做大于或小于逻辑的正常值。但是,问题是,我有大约 20 个不同的统计数据需要比较和添加类。

使较大的值加粗的最简单方法是什么?

我打算尝试使用案例切换,但这似乎很乏味。20 种不同的 if 语句似乎也没有必要。

谢谢!

编辑:为了更清楚起见,我也需要回显这些值,但要使用最大的粗体

$player1[kills] = 55;  
$player2[kills] = 40;  

$player1[deaths] = 15;  
$player2[deaths] = 10;

期望的结果:

<table>  
    <tr> 
        <th>Statistic</th>
        <th>Player 1</th>   
        <th>Player 2</th>        
    </tr>
    <tr> 
        <th>Kills</th>
        <th><strong>40Player 2</th>        
    </tr>  
    <tr> 
        <th>Deaths</th>
        <th>15</th>   
        <th><strong>10</strong></th>        
    </tr>      
</table>

另一件事-更少的死亡更好,那么有没有办法为这种情况选择较小的死亡?

4

2 回答 2

1

从每个组中检索最大值,例如:

$maxkills = max($player1['kills'], $player2['kills']);
$maxdeaths = max($player1['deaths'], $player2['deaths']);

输出时:

if ($player1['kills'] == $maxkills) {
   // Add <strong> tag
   echo "<strong>{$player1['kills']}</strong>";
}
else {
   // output without <strong> tag
   echo $player1['kills'];
}

您也可以使用三元运算符来缩短它:

echo $player1['kills'] == $maxkills ? "<strong>{$player1['kills']}</strong>" : $player1['kills'];

顺便说一句,请在您的数组键周围加上引号。尽管 PHP 可以正确解析它们(假设您打算使用字符串而不是常量),但它会在您每次执行此操作时发出一个通知,即使这些通知只是堆积在日志文件中。

于 2012-04-07T00:16:18.257 回答
0

当您检索杀戮和死亡的值时,将它们添加到全局数组中。

$kills = array();
$death = array();
while($row = mysql_fetch_assoc($query)) //... or some database operation
    $kills[] = $row['kills'];
    $death[] = $row['deaths';

    //do other details
}

现在找出每个值的最大值

$killMax = max($kills);
$deathMax = max($death);

现在无论您在哪里显示与此的比较

echo $player1['kill']==$killMax ? "<strong>".$killMax."</strong>" : $killMax;
于 2012-04-07T00:28:37.477 回答