PHP берут все комбинации

я видел этоалгоритм, который будет принимать цифры или слова и находить все возможные комбинации

И я использую его, но он НЕ возвращает все «реальные» комбинации.

PHP:

<?php
    require_once 'Math/Combinatorics.php';
    $words = array('cat', 'dog', 'fish');
    $combinatorics = new Math_Combinatorics;
    foreach($combinatorics->permutations($words, 2) as $p) {
        echo join(' ', $p), "\n"; 
    }
?>

И это возвращает:

cat dog
dog cat
cat fish
fish cat
dog fish
fish dog

Но это не все реальные комбинации, все реальные комбинации также включают в себя:

cat cat
dog dog
fish fish

И это то, что мне нужно, метод, чтобы получить все реальные комбинации:

cat dog
dog cat
cat fish
fish cat
dog fish
fish dog
cat cat
dog dog
fish fish

Ответы на вопрос(2)

Ваш ответ на вопрос