2018-02-12 16:11:27 2094次浏览 3条回答 0 悬赏 10 金钱

比如[[1,2,3],[4,5],[7,8,9]]该怎样生成下面这样的组合
147
157
148
158
149
159
247
257
248
258
249
259
347
357
348
358
349
359

最佳答案

  • pcyanglei 发布于 2018-02-13 13:54 举报

    <?php

    function dkr($sets)
    {
        $result = [];
        for ($i = 0, $count = count($sets); $i < $count - 1; $i++) {
            if ($i == 0) {
                $result = $sets[$i];
            }
            $tmp = [];
            foreach ($result as $res) {
                foreach ($sets[$i + 1] as $set) {
                    $tmp[] = $res . $set;
                }
            }
            $result = $tmp;
        }
    
        return $result;
    }
    
    $test = [[1, 2, 3], [4, 5], [7, 8, 9]];
    
    $result = dkr($test);
    /**
    Array
    (
        [0] => 147
        [1] => 148
        [2] => 149
        [3] => 157
        [4] => 158
        [5] => 159
        [6] => 247
        [7] => 248
        [8] => 249
        [9] => 257
        [10] => 258
        [11] => 259
        [12] => 347
        [13] => 348
        [14] => 349
        [15] => 357
        [16] => 358
        [17] => 359
    )
    **/
    
    print_r($result);
    
    1 条回复
    回复于 2018-02-14 13:10 回复

    谢谢解答。

    觉得很赞
您需要登录后才可以回答。登录 | 立即注册
Mgloyshi
助理

Mgloyshi

注册时间:2017-12-06
最后登录:2018-07-16
在线时长:10小时30分
  • 粉丝0
  • 金钱40
  • 威望0
  • 积分140

热门问题