如何在php中获得不同的数组组合

如何在php中获得不同的数组组合,php,arrays,combinations,Php,Arrays,Combinations,我有这样的数组 array1 = ['A', 'B', 'C', 'D', 'E'] array2 = ['1', '2', '3'] array3 = ['a', 'b'] 我想用不同的组合来得到这样的数组结果 array1 = ['A', 'B', 'C', 'D', 'E'] array2 = ['1', '2', '3'] array3 = ['a', 'b'] ['A@1@a','A@1@b','A@2@a','A@2@b'..] 逻辑是 取数组1的第一个元素 然后取数

我有这样的数组

array1 =  ['A', 'B', 'C', 'D', 'E']
array2 =  ['1', '2', '3']
array3 =  ['a', 'b']
我想用不同的组合来得到这样的数组结果

array1 =  ['A', 'B', 'C', 'D', 'E']
array2 =  ['1', '2', '3']
array3 =  ['a', 'b']
['A@1@a','A@1@b','A@2@a','A@2@b'..]

逻辑是

  • 取数组1的第一个元素
  • 然后取数组2的第一个元素
  • 此时我们得到
    A@1
    然后对于数组3的所有元素,我们得到
    'A@1@a','A@1@b'
  • 然后我们重复一遍。我正在用
    @

    我该怎么做

    你能描述一下这些看似完全不同的事物之间的逻辑吗?这就像是一个产品卡特尔。它:你显然理解了这背后的逻辑,现在仔细看看-loop@jeroen,使用简单的for循环,我可以做到,我在想是否有一些数组笛卡尔函数。哦,好的,我回答了,但它被搁置了。它在这里起作用了:你能描述一下那些看起来完全不同的事物之间的逻辑吗?它就像一个产品卡特尔。它:你显然理解了这背后的逻辑,现在仔细看看-loop@jeroen,使用简单的for循环,我可以做到,我在想是否有一些数组笛卡尔函数。哦,好的,我回答了,但它被搁置了。这就是它的工作原理:
    $totalArray = array();
    foreach($array1 as $a1) {
        foreach($array2 as $a2) {
            foreach($array3 as $a3) {
                $totalArray[] = "$a1@$a2@$a3";
            }
        }
    }