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

Я ищу алгоритм, который возьмет числа или слова и найдет все возможные варианты их вместе, а также позволит мне определить, сколько значений искать вместе.

Пример позволяет сказать, что строка или массив:

cat  
dog  
fish  

тогда результаты для значения 2 могут быть:

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

Таким образом, результаты из набора из 3 пунктов - это 6 возможных вариаций при совпадении 2 результатов.

при совпадении 3 результатов это будет:

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

... возможно, даже больше вариантов

Я нашел ссылку на Stackoverflow на этот пример, который делает это, но это в javascript, мне интересно, если кто-нибудь знает, как это сделать в PHP, может быть, есть что-то уже построено?

http://www.merriampark.com/comb.htm (мертвая ссылка)

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

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