在一款俄罗斯纸牌游戏中,我试图在以下PostgreSQL表格中统计玩家说脏话(即“坏话”,俄语中有很多这样的词)的频率:
很遗憾我得到了零 - 因为PHP可能正在执行"整数除法"。 我尝试在$row['swear']和$row['lines']前添加floor()以将它们"转换"为浮点数 - 但是这没用。 更新:对不起,我原来的问题中有一个打字错误...商确实是0,我打印出来了。我也尝试了以下操作,但仍然是零:
点击此处 了解更多信息。
# select * from pref_chat order by swear desc;
id | swear | lines
-------------------------+-------+-------
OK194281930260 | 3 | 153
OK350321778615 | 2 | 127
DE12770 | 2 | 339
OK122898831181 | 2 | 63
OK349829847011 | 2 | 126
OK215240745969 | 1 | 66
OK459742722980 | 1 | 96
我需要生成一个整数数据,范围在1到100之间(溢出也可以),以便我可以创建以下的" swear'o'meter ":
所以我正在尝试(使用PHP 5.3和CentOS 6.2):
$sth = $db->prepare('select swear, lines from pref_chat where id=?');
$sth->execute(array($id));
if ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
$quotient = 100 * floor(20 * $row['swear'] / (1 + $row['lines']));
print('<p><img src="https://chart.googleapis.com/chart?chs=700x100&cht=gom&chco=00FF00,FFFF00,FF0000&chxt=x&chxl=0:|Swearometer&chd=t:' . $quotient . '" width=700 height=100 alt="Swearometer"></p>)';
}
很遗憾我得到了零 - 因为PHP可能正在执行"整数除法"。 我尝试在$row['swear']和$row['lines']前添加floor()以将它们"转换"为浮点数 - 但是这没用。 更新:对不起,我原来的问题中有一个打字错误...商确实是0,我打印出来了。我也尝试了以下操作,但仍然是零:
$quot = 100 * floor(20 * $row['swear'] / (.1 + $row['lines']));