全排列的php递归实现. function perm($first = '', $arr, &$results = array()) { $len = count($arr); if($len == 1) { $results[] = $first.$arr[0]; } else { for($i = 0; $i < $len; $i++) { $temp = $arr[0]; $arr[0] = $arr[$i]; $arr[$i] = $temp; perm($first.$arr[0], array_slice($arr, 1), $results); } } } $results = array(); $arr = array("A", "B", "C", "D"); perm('', $arr, $results); echo "<pre>"; print_r($results);