配列の可能なすべての組み合わせを見つける関数があります。
function combination($array)
{
$results = array(array());
foreach ($array as $element)
foreach ($results as $combination)
array_push($results, array_merge(array($element), $combination));
return $results;
}
これは多次元配列を返し、機能します。
配列を印刷しようとすると、これを使用します。
foreach (combination($set) as $combination)
{
print join("\t", $combination) . " - ";
}
為に:$set = array('s','f','g');
出力は次のとおりです。- s - f - f s - g - g s - g f - g f s -
今、私が理解できないのは、出力が次のようになる方法で、長さに応じて組み合わせを並べ替える方法です。 - g f s - g s - g f - f s - g - s - f -