首页 > 解决方案 > 如何从php中的多维数组在自定义数组中创建组合

问题描述

我是数组的新手实际上我想从多维数组创建一个自定义数组。我有下面这样的数组:-

Array
(
[0] => Array
    (
        [0] => 30
        [1] => 31
    )

[1] => Array
    (
        [0] => 4
        [1] => 5
        [2] => 32
    )

[2] => Array
    (
        [0] => 29
    )

)
$filterids = $getfilterids; // that is saved in one variable.

现在只有三个数组,将来可能会更多,这意味着它将是任意数量的数组。所以我想与另一个elemnets Array组合,然后需要用逗号(,)内爆。现在我想要输出这样的东西: -

Array
(
    [0] => 30,4,29
    [1] => 30,5,29
    [2] => 30,32,29
    [3] => 31,4,29
    [4] => 31,5,29
    [5] => 31,32,29
)

我已搜索但无法启动。请帮助我如何执行此类功能。注意:- 数组可以更多,它应该是动态的。提前致谢。

标签: phparraysmultidimensional-array

解决方案


    function combine($arr){
        $ret = array_pop($arr);
        for($i = count($arr) - 1; $i >= 0; $i--){
            $ret2 = [];
            foreach ($arr[$i] as $ar){
                foreach ($ret as $rt){
                    $ret2[] = $ar . "," . $rt;
                }
            }
            $ret = $ret2;
        }
        return $ret;
    }
    combine($filtered);

O(nm**2) n 是数组的长度,m 是其最长元素的长度


推荐阅读