der bereich ist zwar seit einer woche tod, aber ich nicht, hab noch immer nicht mehr als die lösung die ich hier schon gepostet habe - bin gespannt was du herausfindest !!!

<html>
<body bgcolor="#dfdfdf">
<center>
<table border=1>
<tr>
<td align=center><b>Name</b></td>
<td align=center> </td>
<td align=center><b>Name</b></td>
</tr>
<?php
$namen = array('Andre', 'Thilo', 'Klaudija', 'Rolf', 'Peter', 'Claus', 'Julia');
$anz_spieler = count($namen);
$spiele_pro_spieler = $anz_spieler - 1;
$end = $spiele_pro_spieler;
$i = 0;
$anz = 0;
for($k=0;$k<=$anz_spieler;$k++)
{
for($j=$i+1;$j<=$end;$j++)
{
echo "<tr><td align=center>".$namen[$i]."</td><td align=center> vs. </td><td align=center>".$namen[$j]."</td></tr>";
$anz++;
}
$i++;
}
?>
</table>
Bei <? echo $anz_spieler; ?> Spielern ergeben sich <? echo $anz; ?> Spiele, das sind <? echo $spiele_pro_spieler; ?> Spiele pro Person.
</center>
</body>
</html>
$spieler=array("SpielerA", "SpielerB", "SpielerC", "SpielerD", "SpielerE");
$spiele=buildTurnier($spieler);
foreach($spiele as $i => $spiel){
echo ($i+1).". ".$spiel[0]." gegen ".$spiel[1]."<br>";
}
function buildTurnier($r){
$r=array_values($r);//index 0...n erzwingen
$playerNr=count($r);
$games = array();
$spieleGesamt=($playerNr*$playerNr-$playerNr)/2;
$allGames=array();
//eine liste aller begegnungen pro spieler erstellen
for($i=0;$i<$playerNr;$i++){
$allGames[$i]=array();
for($j=0;$j<$playerNr;$j++){
//jeder gegen jeden, aber nicht gegen sich selbst
if($i!=$j)$allGames[$i][]=$j;
}
}
$schlange=array_keys($r);
for($i=0;$i<$spieleGesamt;$i++){
$spieler1=array_shift($schlange);//wer hat am laengsten nicht gespielt?
$schlange[]=$spieler1;//spieler wieder an die schlange anhaengen
$index=-1;
foreach($schlange as $spieler2){//alle Spieler in der Schlange durchgehen
if(($index=array_search($spieler2, $allGames[$spieler1])) !== false){
//schleife verlassen und $index von spieler2 in den spieler1 games behalten
break;
}
}
unset($allGames[$spieler1][$index]);//spieler2 aus der liste der spiele von spieler1 loeschen
$index=array_search($spieler1, $allGames[$spieler2]);
unset($allGames[$spieler2][$index]);//.. und umgekehrt
$spieler2SchlangeIndex=array_search($spieler2, $schlange);
unset($schlange[$spieler2SchlangeIndex]);//spieler2 aus schlange loeschen
$schlange[]=$spieler2;//.. und hinten wieder anhaengen
$games[]=[$r[$spieler1], $r[$spieler2]];
}
return $games;
}
Kommentar