<?php function gen($c,$a) { global $symb, $cnt, $ch; foreach($symb as $v) { $a[$c-1] = $v; if(array_unique($a) == $a) { if($c==$cnt) { $ch[] = implode('',$a); } else { $array = gen($c+1,$a); } } } } $ch = array(); $cnt = 3; // кол-во символов $symb = array(1,3,5); // буквы, цифры и т.п. gen(1,array()); // генерируем, изменяя массив $ch echo implode(' ', $ch); // выводим массив ?>