伙计们,我正在尝试匹配二维数组。这是演示我正在做的事情的代码:
$games = array("Game1" => "Team 2 vs. Team 3", "Game2" => "Team 1 vs. Win 1","Game3" => "Loser Game 1 vs. Loser Game 2","Game4" => "Win Game 2 vs. Win Game 3", "Game5" => "Win Game 4 vs. Loser Game 4 (If Loser 4 is First Loss)");
$time= array("06:00 " => "06:30","06:30 " => " 07:00","07:00" => "07:30","07:30" =>"08:00","08:00" => "08:30");
foreach($games as $games => $versus)
{
foreach($time as $start_time => $end_time)
{
echo $games . ": ". $versus ." ". $start_time. " to " . $end_time . "<br>";
}
}
然而,这输出
Game1: Team 2 vs. Team 3 = 06:00 to 06:30
Game1: Team 2 vs. Team 3 = 06:30 to 07:00
Game1: Team 2 vs. Team 3 = 07:00 to 07:30
Game1: Team 2 vs. Team 3 = 07:30 to 08:00
Game1: Team 2 vs. Team 3 = 08:00 to 08:30
Game2: Team 1 vs. Win 1 = 06:00 to 06:30
Game2: Team 1 vs. Win 1 = 06:30 to 07:00
Game2: Team 1 vs. Win 1 = 07:00 to 07:30
Game2: Team 1 vs. Win 1 = 07:30 to 08:00
Game2: Team 1 vs. Win 1 = 08:00 to 08:30
Game3: Loser Game 1 vs. Loser Game 2 = 06:00 to 06:30
Game3: Loser Game 1 vs. Loser Game 2 = 06:30 to 07:00
Game3: Loser Game 1 vs. Loser Game 2 = 07:00 to 07:30
Game3: Loser Game 1 vs. Loser Game 2 = 07:30 to 08:00
Game3: Loser Game 1 vs. Loser Game 2 = 08:00 to 08:30
Game4: Win Game 2 vs. Win Game 3 = 06:00 to 06:30
Game4: Win Game 2 vs. Win Game 3 = 06:30 to 07:00
Game4: Win Game 2 vs. Win Game 3 = 07:00 to 07:30
Game4: Win Game 2 vs. Win Game 3 = 07:30 to 08:00
Game4: Win Game 2 vs. Win Game 3 = 08:00 to 08:30
Game5: Win Game 4 vs. Loser Game 4 (If Loser 4 is First Loss) = 06:00 to 06:30
Game5: Win Game 4 vs. Loser Game 4 (If Loser 4 is First Loss) = 06:30 to 07:00
Game5: Win Game 4 vs. Loser Game 4 (If Loser 4 is First Loss) = 07:00 to 07:30
Game5: Win Game 4 vs. Loser Game 4 (If Loser 4 is First Loss) = 07:30 to 08:00
Game5: Win Game 4 vs. Loser Game 4 (If Loser 4 is First Loss) = 08:00 to 08:30
我希望将其显示为
Game1: Team 2 vs. Team 3 06:00 to 06:30
Game2: Team 1 vs. Win 1 06:30 to 07:00
Game3: Loser Game 1 vs. Loser Game 2 07:00 to 07:30
Game4: Win Game 2 vs. Win Game 3 = 07:30 to 08:00
Game5: Win Game 4 vs. Loser Game 4 (If Loser 4 is First Loss) = 08:00 to 08:30
我怎么解决这个问题? 在此先感谢谁帮助了我..
答案 0 :(得分:3)
如果您可以控制数组,我会使用不同的结构,您可以轻松匹配游戏和时间。
但是,由于您没有数字键,因此您需要从key()
数组中获取键current()
和值$time
,并在每次循环迭代时前进数组指针:
foreach($games as $game => $versus)
{
echo $game . ": " . $versus ." ". key($time) ." to ". current($time) ."<br>";
next($time);
}
实际上使用each()
可能更简单:
foreach($games as $game => $versus)
{
list($start, $end) = each($time);
echo $game . ": " . $versus ." ". $start ." to ". $end ."<br>";
}
答案 1 :(得分:1)
如果可能,您可以尝试将游戏和开始/结束时间组合成一个多维数组(这只是众多可能的方法之一)。此示例适用于2个游戏,但您可以添加更多游戏:
$games = array(
"Game1" =>
Array(
"versus" => "Team 2 vs. Team 3",
"start_time" => "06:00",
"end_time" => "06:30"
),
"Game2" =>
Array(
"versus" => "Team 1 vs. Win 1",
"start_time" => "06:30",
"end_time" => "07:00"
)
);
foreach ($games as $game => $arr)
{
echo "<br>";
echo $game . ": versus : " . $arr['versus'] . ": start_time: ";
echo $arr['start_time'] . ": end_time: " . $arr['end_time'];
}
输出:
Game1:vs.:Team 2 vs. Team 3:start_time:06:00:end_time:06:30
Game2:vs.:Team 1 vs. Win 1:start_time:06:30:end_time:07:00