recursive function, passing back in the array, minus the current position and current combination. when array is empty, use current combination.
um... something like (but not tested) function comby($arr, $comb = "") { $num = count($arr); if ($num == 0) { echo $comb; return; } for ($i = 0; $i < $num; $i++) { $tmp_comb = $comb . $arr[$i]; $tmp_arr = $arr; array_splice($arr, $i, 1); comby($tmp_arr, $comb); } } $array = Array("A", "B", "C"); comby($array); -----Original Message----- From: Evan Nemerson [mailto:[EMAIL PROTECTED]] Sent: Thursday, May 16, 2002 2:17 PM To: [EMAIL PROTECTED] Subject: [PHP] Generate every possible combination I need to generate every possible combination of the the values in an array. For example, if... $array = Array("A", "B", "C"); I want to be able to do something like print_r(magic_function($array)); which would output Array ( [0] => "ABC" [1] => "ACB" [2] => "BAC" [3] => "BCA" [4] => "CAB" [5] => "CBA" ) I really have no idea where to begin. The best lead I can think of is that there are going to be n! elements in the output array, where n is the size of the input array. Any help would be greatly appreciated. Evan -- Think not those faithful who praise all thy words and actions, but those who kindly reprove thy faults. Socrates -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php