ho fatto delle modifiche e sono giunto a questo:
inserisco dei numeri da 1 a 12 (in seguito lo porto fino a 52) nel form.
elimino dall'array i valori che corrispondono a quel valore.
creo le combinazioni di 8 elementi (12 elementi totali meno 4 inseriti) di classe 2 possibili (28 combinazioni).

index.html

codice:
<html> 
<body> 
<form action="action.php" method="POST">  


Giocatore1 <input type="text" name="C1G1" value="" /></p> 	


<input type="text" name="C2G1" value="" /></p>  


Giocatore2 <input type="text" name="C1G2" value="" /></p>  	


<input type="text" name="C2G2" value="" /></p>  


<input type="submit"></p> 
</form> 
</body> 
</html>
action.php

codice:
<?php  $carte=array(1=>C1,C2,C3,Q1,Q2,Q3,F1,F2,F3,P1,P2,P3);

$C1G1=$_POST["C1G1"]; 
$C2G1=$_POST["C2G1"]; 
$C1G2=$_POST["C1G2"]; 
$C2G2=$_POST["C2G2"];  

unset($carte[$C1G1]); 
unset($carte[$C2G1]); 
unset($carte[$C1G2]); 
unset($carte[$C2G2]);  

print_r ($carte);  

$valori=$carte;  

for ($i=0;$i<count($valori);$i++) {    
$k=$i;    
while ($k<(count($valori)-1)) {       
echo "$valori[$i]";       
$k++;       
echo "$valori[$k] 
";    } 
}   
?>
il problema è che così mi non vengono generate tutte le combinazioni, ma solo una parte :/