algorytm, który będzie przyjmował liczby lub słowa i znajdował wszystkie możliwe kombinacje

Szukam algorytmu, który będzie przyjmował liczby lub słowa i znajdował wszystkie możliwe ich odmiany razem, a także pozwalał mi określić, ile wartości szukać razem.

Przykład pozwala powiedzieć, że łańcuch lub tablica to:

cat  
dog  
fish  

wtedy wyniki dla wartości 2 mogą być:

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

W ten sposób wyniki z zestawu 3 elementów to 6 możliwych wariantów przy 2 dopasowaniach wyników
przy 3 wynikach pasujących byłoby:

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

... prawdopodobnie więcej opcji nawet

Znalazłem link na Stackoverflow do tego przykładu, który to robi, ale jest w javascript, zastanawiam się, czy ktoś wie, jak to zrobić w PHP, może jest coś już zbudowane?

http://www.merriampark.com/comb.htm (martwy link)

questionAnswers(3)

yourAnswerToTheQuestion