php求数组全排列,元素所有组合的方法总结

首先,对于PHP数组的全排列,我们可以利用PHP内置的函数array_permutations()来实现。该函数可以用于返回给定数组中的所有可能排列,如下所示:

首先,对于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求数组全排列,元素所有组合的方法总结

基础教程推荐