$matches_query = $db->query("SELECT `id`, `team_1`, `team_2` FROM `fm_matches` WHERE `date_start` <= '" . $time . "' AND `act` < 3");
while ($fetch = $matches_query->fetch(PDO::FETCH_ASSOC))
{
if (in_array($fetch['team_1'], $teams) === false && in_array($fetch['team_2'], $teams) === false)
{
$matches_list[] = $fetch['id'];
$teams[] = $fetch['team_1'];
$teams[] = $fetch['team_2'];
}
}То есть одной и той же команды не может быть и в team_1 и в team_2. Так-то вариант рабочий, но может можно лучше.