elminson/permutations

排列生成器包

v1.0.1 2023-12-04 18:50 UTC

This package is auto-updated.

Last update: 2024-09-04 20:19:25 UTC


README

方便生成数组排列的方法。

例如:

    // Customizable features for a smartphone
    $colors = ['Black', 'White'];
    $storageCapacities = ['64GB', '128GB'];

    // Generating variations using Permutations::generate
    $actualVariations = Permutations::generate([$colors, $storageCapacities]);

结果

Array
(
    [0] => Array
        (
            [0] => Black
            [1] => 64GB
        )

    [1] => Array
        (
            [0] => Black
            [1] => 128GB
        )

    [2] => Array
        (
            [0] => White
            [1] => 64GB
        )

    [3] => Array
        (
            [0] => White
            [1] => 128GB
        )

)

您还可以通过以下方式包括原始数组:

        $includeOriginalArray = true;
		$array = ['AB', 'CD'];
		$array1 = ['EF', 'GH'];
		$permutationsExpected = [ ['AB', 'CD'], ['EF', 'GH'], ['AB', 'EF'], ['AB', 'GH'], ['CD', 'EF'], ['CD', 'GH']];
		$permutationsElements = Arr::permutations([$array, $array1], $includeOriginalArray);		

结果

Array
(
    [0] => Array
        (
            [0] => AB
            [1] => CD
        )

    [1] => Array
        (
            [0] => EF
            [1] => GH
        )

    [2] => Array
        (
            [0] => AB
            [1] => EF
        )

    [3] => Array
        (
            [0] => AB
            [1] => GH
        )

    [4] => Array
        (
            [0] => CD
            [1] => EF
        )

    [5] => Array
        (
            [0] => CD
            [1] => GH
        )

)