Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 匹配二维阵列_Php_Multidimensional Array_Foreach - Fatal编程技术网

Php 匹配二维阵列

Php 匹配二维阵列,php,multidimensional-array,foreach,Php,Multidimensional Array,Foreach,伙计们,我在试着匹配二维数组。这是演示我所做工作的代码: $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 Lo

伙计们,我在试着匹配二维数组。这是演示我所做工作的代码:

$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
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
我怎样才能解决这个问题?
提前感谢您对我的帮助。

如果您能控制阵列,我将采用不同的结构,您可以轻松匹配游戏和时间

但是,由于您没有数字键,因此需要从
$time
数组中获取键
key()
和值
current()
,并在每次循环迭代中提前数组指针:

foreach($games as $game => $versus)
{
    echo $game . ": " . $versus ." ". key($time) ." to ". current($time) ."<br>";
    next($time);
}

如果你能控制阵列,我会用一种不同的结构,你可以很容易地匹配游戏和时间

但是,由于您没有数字键,因此需要从
$time
数组中获取键
key()
和值
current()
,并在每次循环迭代中提前数组指针:

foreach($games as $game => $versus)
{
    echo $game . ": " . $versus ." ". key($time) ." to ". current($time) ."<br>";
    next($time);
}

如果可能的话,您可以尝试将游戏和开始/结束时间组合成一个多维数组(这只是许多可能的方法之一)。此示例适用于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'];
}
$games=array(
“游戏1”=>
排列(
“对”=>“第二队对第三队”,
“开始时间”=>“06:00”,
“结束时间”=>“06:30”
),
“游戏2”=>
排列(
“对”=>“第一队对第一胜”,
“开始时间”=>“06:30”,
“结束时间”=>“07:00”
)
);
foreach($games as$game=>$arr)
{
回声“
”; echo$game.:对:“$arr[‘对’]”:开始时间:”; echo$arr['start_time']。”:end_time:“.$arr['end_time']; }
输出:

游戏一:对:第二队对第三队:开始时间:06:00:结束时间:06:30

第二场:对战:第一队对胜1:开始时间:06:30:结束时间:07:00


如果可能的话,您可以尝试将游戏和开始/结束时间组合成一个多维数组(这只是许多可能的方法之一)。此示例适用于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'];
}
$games=array(
“游戏1”=>
排列(
“对”=>“第二队对第三队”,
“开始时间”=>“06:00”,
“结束时间”=>“06:30”
),
“游戏2”=>
排列(
“对”=>“第一队对第一胜”,
“开始时间”=>“06:30”,
“结束时间”=>“07:00”
)
);
foreach($games as$game=>$arr)
{
回声“
”; echo$game.:对:“$arr[‘对’]”:开始时间:”; echo$arr['start_time']。”:end_time:“.$arr['end_time']; }
输出:

游戏一:对:第二队对第三队:开始时间:06:00:结束时间:06:30

第二场:对战:第一队对胜1:开始时间:06:30:结束时间:07:00


我不确定这一部分是否正确:
foreach($games=>$vs)
我认为应该是
foreach($games=>$vs)
为了做你想做的事情,你需要在
$games
$time
数组之间建立某种连接,而你没有这种连接。你可能想把它们组合成一个单打
$games\u time
数组。我更新了我的答案。code会得到你想要的结果。我不确定这部分是否正确:
foreach($games=>$vs)
我认为应该是
foreach($games=>$vs)
才能完成你想做的事情,您需要在
$games
$time
数组之间建立某种连接,而这是您所没有的。您可能想将它们组合成单打
$games\u time
数组。我更新了答案。code将得到您想要的结果。@riggsfully是的,我做了。这只是OP试图实现的另一种方式。只有在我提到的将两个数组合并成一个多维数组的情况下,它才会起作用。@riggsfully没关系。如果你不喜欢我的答案,那就直接投反对票,否则OP可以投反对票。事情的结局。为什么要制造问题呢?因为这是对磁盘空间的浪费。如果他没有如此混乱的数据,他可能不需要问这个问题让我提出一个类似的问题并回答:Q=我怎么从这里到火车站a=我确实知道,但如果我们在主街,我可以告诉你从哪里来there@RiggsFolly是的。这只是OP试图实现的另一种方式。只有在我提到的将两个数组合并成一个多维数组的情况下,它才会起作用。@riggsfully没关系。如果你不喜欢我的答案,那就直接投反对票,否则OP可以投反对票。事情的结局。为什么要制造问题呢?因为这是对磁盘空间的浪费。如果他没有如此混乱的数据,他可能不需要问这个问题让我提出一个类似的问题并回答:Q=我怎么从这里到火车站a=我确实知道,但如果我们在主街,我可以告诉你从那里到那里的距离