PHP-Array-Kombination

Ich möchte alle Kombinationen der Länge r aus einer Menge erzeugen [0 ... (n-1)]

Die Ausgabe sollte also so sein (n = 6 r = 2)

$res = array(array(0,1),array(0,2),array(0,3),array(0,4),array(0,5),array(1,2),array(1,3),array(1,4),array(1,5),array(2,3),array(2,4),array(2,5),array(3,4),array(3,5),array(4,5));

mit einer Funktion wie

function permutate($select, $max)

Dabei ist $ select = r und $ max = n

Dies ist mein aktueller Versuch, aber mein Gehirn scheint heute Abend nicht zu funktionieren und es funktioniert nur für $ select = 2

function permutate($select, $max)
{
    $out = array();
    for( $i = 0; $i < ($max) ; $i++)
    {
        for ($x = ($i + 1); $x < ($max); $x++)
        {

            $temp = array($i);

            for($l = 0; $l < ($select-1); $l++)
            {
                if(($x+$l) < $max )
                {                
                    array_push($temp, $x+$l);
                }
            }    
            if(count($temp) == $select)
            {
                array_push($out, $temp);
            }
        }
    }

    return $out;
}

Danke im Voraus

Antworten auf die Frage(1)

Ihre Antwort auf die Frage