为体育网站编写 if-else 语句时出现问题。关键是将$game
显示为W
、L
或Tie
,具体取决于从名为$row["result"]
的变量从MySQL表中解析的分数。表中列的类型是 VARCHAR,保存数据的格式是$row["result"] = "A:B"
其中 A 是主队的分数,B 是对手的分数。我遇到了一个问题,我写的 if 语句我只能正确回显胜利 (W) 和领带 (平局)!
例如代码:
<?php
$wl = $row["result"];
if ($wl[1] > $wl[3]) {
$game = "W";
}
if ($wl[1] < $wl[3]) {
$game = "L";
}
if ($wl[1] == $wl[3]) {
$game = "Tie";
}
?>
$game
将在$wl= A>B
和A==B
时正确输出,但不能A<B
。我有一种感觉,这与 PHP 将$wl
中的数据解释为不是数字,而是其他格式有关......
尝试在最后两个"if"条件下使用"else if"而不是"if"。你也在爆炸()'结果吗?
$wl = explode(':', $row['result']);
$wl[0] = Score for team A
$wl[1] = Score for team B
我也建议使用 explode(),但对于你正在使用的内容,我认为你应该引用 $wl[0] 和 $wl[2],因为数组$wl从零索引开始。
或者在这里,如果你想要以一种神秘的方式
$wl = explode(":",$row["result"]);
$game = ($wl[0]>$wl[1])?"W":(($wl[0]<$wl[1])?"L":"TIE");