在游戏中,有三个不同的团队。例如,团队a,b和c。 在游戏的数据库中,播放时间的报告如下:" [a,b,c]"每个字母是用户在该特定团队中玩了多少分钟。 我使用PHP从数据库中获取数据以显示在网站上,但它只显示为" [14,0,1]"因为我在团队a上有14分钟,在团队b上有0分钟,在团队中有1分钟。
如何通过PHP或JSON格式化这个来添加a,b和c,或者在这种情况下添加14 + 0 + 1?
PHP中的代码:
$sql = "SELECT * FROM players WHERE playerid ='". $steamprofile['steamid']
."'";
$result = $db->query($sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
$playtime = $row["playtime"];
}
HTML中的代码:
<span id="label">Playtime</span>: <b><span id="playerPlaytime"><?php echo
$playtime; ?></span></b><br>
答案 0 :(得分:1)
通过分割逗号创建一个数组,然后计算总和(首先修剪额外的东西):
$playtime = array_sum(explode(',', trim($row['playtime'], '"[]')));
要使用JSON,您仍需要修剪引号:
$playtime = array_sum(json_decode(trim($row['playtime'], '"')));
答案 1 :(得分:0)
如果DB中的变量是一个字符串(它似乎是一个JSON对象),那么在PHP中你可以这样做:
$playtime = array_sum(json_decode($row['playtime']));