Я не могу найти решение этой проблемы, все мои попытки не удались, поэтому мне нужна ваша помощь.В PHP, получите значение массива, когда вы знаете другое значение
Я должен определить различные команды, которые будут противостоять друг другу в турнире по футболу. Я знаю 4 группы команд турнира и какие игры следует играть каждый день, но мне не удается отобразить программу турнира благодаря этой информации.
У меня есть 2 массивы:
-Программа турнира (определяется рейтинге каждой команды в каждой группе есть 2 матча в день в каждом из 4-х групп):
$tournament = array(
"day1" => array(1=> array("team1", "team2"), 2=> array("team3", "team4")),
"day2" => array(1=> array("team3", "team1"), 2=> array("team4", "team2")),
"day3" => array(1=> array("team1", "team4"), 2=> array("team2", "team3")),
"day4" => array(1=> array("team2", "team1"), 2=> array("team4", "team3")),
"day5" => array(1=> array("team1", "team3"), 2=> array("team2", "team4")),
"day6" => array(1=> array("team4", "team1"), 2=> array("team3", "team2"))
);
-The группа детали:
$users_group = array (
[0] => Array ([team] => Superteam1 [rank] => 1 [group] => A)
[1] => Array ([team] => Superteam2 [rank] => 2 [group] => A)
[2] => Array ([team] => Superteam3 [rank] => 3 [group] => A)
[3] => Array ([team] => Superteam4 [rank] => 4 [group] => A)
[4] => Array ([team] => Superteam5 [rank] => 1 [group] => B)
[5] => Array ([team] => Superteam6 [rank] => 2 [group] => B)
[6] => Array ([team] => Superteam7 [rank] => 3 [group] => B)
[7] => Array ([team] => Superteam8 [rank] => 4 [group] => B)
[8] => Array ([team] => Superteam9 [rank] => 1 [group] => C)
[9] => Array ([team] => Superteam10 [rank] => 2 [group] => C)
[10] => Array ([team] => Superteam11 [rank] => 3 [group] => C)
[11] => Array ([team] => Superteam12 [rank] => 4 [group] => C)
[12] => Array ([team] => Superteam13 [rank] => 1 [group] => D)
[13] => Array ([team] => Superteam14 [rank] => 2 [group] => D)
[14] => Array ([team] => Superteam15 [rank] => 3 [group] => D)
[15] => Array ([team] => Superteam16 [rank] => 4 [group] => D)
)
Я хотел бы, за каждый день турнира, чтобы показать, как из матчей, которые будут играть. Однако то, что я пытался не работает, я могу получить только первую команду первой игры (NB первого в то время как цикл используется, чтобы получить 6 дней турнира с моего дб):
$i=1;
while($i<7){
echo '<div>Day '.$i.'</div>';
$max = count($users_group);
for($l = 0; $l < $max; $l++){
if($users_group[$l]['rang']==substr($tournament["day".$i][1][0],-1)){
echo $users_group[$l]['team'];
}
if($users_group[$l]['rang']==substr($tournament["day".$i][1][1],-1)){
echo ' VS '.$users_group[$l]['team'] . '<br />';
}
if($users_group[$l]['rang']==substr($tournament["day".$i][2][0],-1)){
echo $users_group[$l]['team'];
}
if($users_group[$l]['rang']==substr($tournament["day".$i][2][1],-1)){
echo ' VS '.$users_group[$l]['team'] . '<br />';
}
}
$i++;
}
Я хотел бы чтобы показать что-то вроде:
Day 1
Superteam1 VS Superteam2
Superteam3 VS Superteam4
Superteam5 VS Superteam6
Superteam7 VS Superteam8
Superteam9 VS Superteam10
Superteam11 VS Superteam12
Superteam13 VS Superteam14
Superteam15 VS Superteam16
Day 2
Superteam3 VS Superteam1
Superteam4 VS SUperteam2
etc
.
.
.
Я попытался сделать функцию, чтобы только избежать получения первого значения $users_group[$l]['team']
каждый раз, но я не мог заставить его работать.
Большое спасибо за помощь!
Вы настроили эти структуры данных? Вы усложнили жизнь, добавив ненужный текст в значения массива в '$ турнирах'. Было бы намного проще иметь номера команд, которые будут играть друг с другом. Ответ, который вы опубликовали, также не имеет никакого сходства с предоставленными данными - во входном массиве нет 8-го дня. –
Как я уже сказал, день 4 и 8 день происходят из цикла while, который предоставляет информацию из таблицы моего db. Дело не в этом. Кроме того, я не включил весь мой код, но все данные, которые я получаю в своих массивах, полезны для дальнейшей информации. Спасибо за ваш ответ в любом случае – Fanzouze
Очень полезно, если вы обеспечиваете ожидаемый результат - если вы предоставляете вывод, который не может быть сопоставлен с вводом, он просто запутан. Ни ваш цикл 'while', ни' 'турнир' не имеют никакой информации о 8-м дне, поэтому помещать это как ожидаемый результат вводят в заблуждение. Было бы очень полезно, если бы вы могли предоставить больше кода, поскольку на ваш вопрос можно было бы легко ответить с другой структурой данных, но если вы застряли на структурах данных, которые у вас уже есть, обходной путь нужно будет разработать. –