@gomer1726

Как сделать расписание игр команд?

Хочу сделать так как в лиге чемпионов (если кто смотрит)
Значит есть команды и у этих команд есть своя группа и нужно из массива узнать группу и провести расписание игр.
в 1 группе 4 команды и каждая команда должна встретиться со всеми в своей группе
$clubs = [
			0 => ["club" => "arsenal", "group" => 1],
			1 => ["club" => "barcelona", "group" => 1],
			2 => ["club" => "chelsea", "group" => 1],
			3 => ["club" => "bayern", "group" => 1],
			4 => ["club" => "liverpool", "group" => 2],
			5 => ["club" => "mu", "group" => 2],
			6 => ["club" => "real", "group" => 2],
			7 => ["club" => "psg", "group" => 2],
		];


Вот такой массив команд, здесь видно что получится 2 группы
Я не прошу все реализовать за меня, просто подбросьте идеи пожалуйста
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
Screamie
@Screamie
Full-stack разработчик
Здравствуйте! Воспользуйтесь вложенным циклом. Например так:

$clubs = [
      0 => ["club" => "arsenal", "group" => 1],
      1 => ["club" => "barcelona", "group" => 1],
      2 => ["club" => "chelsea", "group" => 1],
      3 => ["club" => "bayern", "group" => 1],
      4 => ["club" => "liverpool", "group" => 2],
      5 => ["club" => "mu", "group" => 2],
      6 => ["club" => "real", "group" => 2],
      7 => ["club" => "psg", "group" => 2],
    ];

foreach ($clubs as $club) {
    
    foreach ($clubs as $opponent) {
        if($club['club'] === $opponent['club'] || $club['group'] != $opponent['group']) {
            continue;
        } else {
            echo "Group ". $club['group'] .": " . $club['club'] . " vs " .$opponent['club'] . "<br>";
        }
    }

}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы