Originariamente inviato da dvds
$array[] = 'a';
$array[] = 'b';
$array[] = 'c';
$array[] = 'd';
$array[] = 'e';

for ($i = 0; $i < array_count_values($array); $i++) {
for ($j = ($i + 1); $j < array_count_values($array); $j++) {
echo $array[$i].' - '.$array[$j].'
';
}
}

non l'ho provato, ma forse può funzionare
Non funziona, crea un loop infinito.
Poi il numero di elementi per estrazione deve essere variabile. Se fossero solo due elementi per estrazioni sarebbe facile, ma non è così