我想要做的是从while循环中收集数据,将其存储到变量中。然后在我的代码中,我看到一些变量是否等于数组中的一个值,然后回显出我从while循环获得的另外两个列值,但是等于值来自的行。我尝试了很多不同的东西,而且非常接近,但却无法准确地得到它。
while($row = mysql_fetch_assoc($query)){
$team[] .= "{$row['team']}";
$winslosses .= "({$row['wins']} - {$row['losses']})";
}
这会返回类似
$team = (bears, badgers, wildcats)
$winslosses = ((42-24), (55-23), (32-21))
然后在我的代码中,我想看看它是否等于数组中的值,然后回显$ winslosses。
if(in_array(bears, $team) ) {echo '$winslosses';}
这显示了每支球队的所有胜负。我希望它只显示熊的记录。
任何帮助都会很棒。
答案 0 :(得分:1)
您可以使用array_search()获取数组中项目的索引。然后,您可以在查询$ winlosses时使用该索引:
$team = array(bears, badgers, wildcats);
$winslosses = array("(42-24)", "(55-23)", "(32-21)");
$key=array_search(bears, $team);
echo $winslosses[$key]
结果:
(42-24)
答案 1 :(得分:0)
您最好的选择是将它们存储在关联数组中。
while($row = mysql_fetch_assoc($query)){
$winslosses[$row['team']] = "({$row['wins']} - {$row['losses']})";
}
希望这有帮助
答案 2 :(得分:0)
你的主要问题是你现在有$winslosses
作为字符串,而不是数组,所以你不能轻易拿出一个团队的赢/输记录。
有几种方法可以做到这一点。对我来说最简单的一个就是把它作为一个阵列放在一起。
像...一样的东西。
while($row = mysql_fetch_assoc($query)){
$teams[$row['team']] = "({$row['wins']} - {$row['losses']})";
}
然后在......
if(array_key_exists("bears",$teams)) {
echo $teams["bears"];
}
或者甚至更好,将赢/输存储为子数组,因此您可以根据需要格式化结构化数据。
while($row = mysql_fetch_assoc($query)){
$teams[$row['team']] = array("wins" => $row['wins'], "losses" => $row['losses']);
}
echo $teams['bears']['wins']; // for example
答案 3 :(得分:0)
使用关联数组:
while($row = mysql_fetch_assoc($query)){
$team[] = {$row['team']};
$winslosses[$row['team']] = "{$row['wins']} - {$row['losses']}";
}
然后像这样检索它:
if(in_array(bears, $team) ) {
echo $winslosses['bears'];
}
事实上,如果你不需要单独数组中团队的名字,你可以只使用一个关联数组然后检索它。
if (array_key_exists('bears', $winslosses)) {
echo $winslosses['bears'];
}