我正在尝试比较两个数字,并在大型数据库中添加一个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>
另一件事情 - 更少的死亡是更好的,所以有没有办法让一些人选择较小的那个为那个实例?
答案 0 :(得分: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正确地解析它们(假设您打算使用字符串而不是常量),但每次执行时都会发出通知,即使这些通知只是堆积在日志文件中。
答案 1 :(得分: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;