function combinations($arr, $size) {
for ($i = 0; $i < $size; $i++) {
echo $arr[$i] . "\n";
for ($j = 0; $j <= $size - 1; $j++) {
echo $arr[$i] . $arr[$j] . "\n";
for ($k = 0; $k <= $size - 1; $k++) {
echo $arr[$i] . $arr[$j] . $arr[$k] . "\n";
}
}
}
}
$arr = array('a', 'b', 'c');
combinations($arr, 3);
/*
run:
a
aa
aaa
aab
aac
ab
aba
abb
abc
ac
aca
acb
acc
b
ba
baa
bab
bac
bb
bba
bbb
bbc
bc
bca
bcb
bcc
c
ca
caa
cab
cac
cb
cba
cbb
cbc
cc
cca
ccb
ccc
*/