【问题标题】:how can i get different combinations of arrays in php [closed]我怎样才能在php中获得不同的数组组合[关闭]
【发布时间】:2013-12-27 19:53:12
【问题描述】:

我有这样的数组

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. 取数组 1 的第一个元素
  2. 然后取数组 2 的第一个元素
  3. 此时我们得到 A@1 然后对于数组 3 的所有元素,我们得到 'A@1@a', 'A@1@b'

然后我们重复一遍。我将每个数组与@ 分开 我该怎么做呢

【问题讨论】:

  • 你能描述一下那些看似完全不同的事物之间的逻辑吗?
  • 这就像一个产品笛卡尔
  • 编辑:你显然明白这背后的逻辑,现在仔细看看 for 循环
  • @jeroen,通过简单的 for 循环我可以做到这一点,我在想是否有一些数组笛卡尔函数。
  • 哦,好吧,我回答了,但它被搁置了。它在这里工作:eval.in/83514

标签: php arrays combinations


【解决方案1】:
$totalArray = array();
foreach($array1 as $a1) {
    foreach($array2 as $a2) {
        foreach($array3 as $a3) {
            $totalArray[] = "$a1@$a2@$a3";
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 2013-09-06
    • 2011-04-11
    • 2016-02-27
    • 1970-01-01
    • 2015-08-03
    • 2019-09-25
    • 1970-01-01
    相关资源
    最近更新 更多