概念/笛卡尔树

一个Laravel包,实现了笛卡尔算法,用于从数组序列中生成排列。

1.0.1 2020-09-01 02:34 UTC

This package is auto-updated.

Last update: 2024-09-29 06:02:43 UTC


README

一个Laravel包,实现了笛卡尔算法,用于从数组序列中生成排列。

这个包是什么?

如果您想通过组合多个数组来生成所有可能的排列,此包将为您完成。

如何安装?

在您的Laravel应用程序中运行以下命令composer require concept/cartesian-tree

如何使用?

  • 通过导入包的模型,在您的代码库中的任何类中使用此包。
  • 在任何一个方法中,调用静态方法 buildPermutations 来组合任意给定的数组,并生成包含所有排列的单个数组。
<?php
 use Concept\CartesianTree\Cartesian;
 
 $permutations = Cartesian::buildPermutations([[1,2,3],['a','b','c']]);
 
 dd($permutations);
?>

结果将如下所示

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => a
        )

    [1] => Array
        (
            [0] => 1
            [1] => b
        )

    [2] => Array
        (
            [0] => 1
            [1] => c
        )

    [3] => Array
        (
            [0] => 2
            [1] => a
        )

    [4] => Array
        (
            [0] => 2
            [1] => b
        )

    [5] => Array
        (
            [0] => 2
            [1] => c
        )

    [6] => Array
        (
            [0] => 3
            [1] => a
        )

    [7] => Array
        (
            [0] => 3
            [1] => b
        )

    [8] => Array
        (
            [0] => 3
            [1] => c
        )

)



请注意

  • 您可以组合任意多个数组。
  • 我使用此包组合了多达7个不同的数组。

即将到来的更新

  • PHPUNIT 测试。