Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function permutations($letters,$num)
- {
- $last = str_repeat($letters[0],$num);
- $result = array();
- while($last != str_repeat($this->lastchar($letters),$num))
- {
- $result[] = $last;
- $last = $this->char_add($letters,$last,$num-1);
- }
- $result[] = $last;
- return $result;
- }
- function char_add($digits,$string,$char)
- {
- error_reporting(0);
- if($string[$char] < $this->lastchar($digits))
- {
- $string[$char] = $digits[strpos($digits,$string[$char])+1];
- return $string;
- }
- else
- {
- $string = $this->changeall($string,$digits[0],$char);
- return $this->char_add($digits,$string,$char-1);
- }
- }
- function lastchar($string)
- {
- return $string[strlen($string)-1];
- }
- function changeall($string,$char,$start = 0,$end = 0)
- {
- if($end == 0) $end = strlen($string)-1;
- for($i=$start;$i<=$end;$i++){
- $string[$i] = $char;
- }
- return $string;
- }
- print_r($this->permutations('1234',2));
- Array(
- [0] => 11
- [1] => 12
- [2] => 13
- [3] => 14
- [4] => 21
- [5] => 22
- [6] => 23
- [7] => 24
- [8] => 31
- [9] => 32
- [10] => 33
- [11] => 34
- [12] => 41
- [13] => 42
- [14] => 43
- [15] => 44)
Add Comment
Please, Sign In to add comment