zoukankan      html  css  js  c++  java
  • PHP 求多个数组的笛卡尔积,适用于求商品规格组合 【递归思想, 类似广度优先搜索】【原创】

    $arr = [
    ['黑', '白', '红', '绿'],
    ['大', '小'],
    ['A', 'B', 'C', 'D']
    ];

    #思想就是循环上一次已经算出的集合 * 接下来要参与计算的一组属性
    function brush($res = [], $arr = [])
    {
    if (empty($res)) $res = (array)array_shift($arr);
    if (empty($arr)) return $res;
    $current = array_shift($arr); # 接下来要参与计算的一组属性
    $last = [];
    foreach ($res as $row => $row_val) { # 循环上一次已经算出的集合
    foreach ($current as $col => $col_val) {
    $last[] = $row_val . ',' . $col_val;
    }
    }
    return brush($last,$arr); # 递归处理, 直到$arr滚到最后一组属性
    }
    var_dump(brush([],$arr));
  • 相关阅读:
    黑色边影,
    拉伸的代码,
    一定是selection的原因啊,要不然呢,
    status bar的差别,
    黄色,
    域名错了,
    node=day4
    PS切片
    移动端插件IScroll.js
    移动web资源概论
  • 原文地址:https://www.cnblogs.com/wangshuazi/p/14292434.html
Copyright © 2011-2022 走看看