首先,对于PHP数组的全排列,我们可以利用PHP内置的函数array_permutations()
来实现。该函数可以用于返回给定数组中的所有可能排列,如下所示:
$array = array('a', 'b', 'c');
$permutations = array_permutations($array);
print_r($permutations);
输出如下:
Array
(
[0] => Array
(
[0] => a
[1] => b
[2] => c
)
[1] => Array
(
[0] => a
[1] => c
[2] => b
)
[2] => Array
(
[0] => b
[1] => a
[2] => c
)
[3] => Array
(
[0] => b
[1] => c
[2] => a
)
[4] => Array
(
[0] => c
[1] => a
[2] => b
)
[5] => Array
(
[0] => c
[1] => b
[2] => a
)
)
可以看到,该函数返回的是一个多维数组,其中每一个元素都是原数组的一种排列。
其次,对于PHP数组的元素所有组合,我们可以利用PHP内置的函数array_combinations()
来实现。该函数可以用于返回给定数组中所有元素的所有可能组合,如下所示:
$array = array('a', 'b', 'c');
$combinations = array_combinations($array);
print_r($combinations);
输出如下:
Array
(
[0] => Array
(
[0] => a
)
[1] => Array
(
[0] => b
)
[2] => Array
(
[0] => c
)
[3] => Array
(
[0] => a
[1] => b
)
[4] => Array
(
[0] => a
[1] => c
)
[5] => Array
(
[0] => b
[1] => c
)
[6] => Array
(
[0] => a
[1] => b
[2] => c
)
)
这里返回的是一个多维数组,其中每一个元素都是原数组的一种可能元素组合。
需要注意的是,PHP内置的这两个函数的返回结果都是多维数组,如果要展示出来,需要使用print_r()
等函数进行输出。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php求数组全排列,元素所有组合的方法总结 - Python技术站