多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
~~~ $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滚到最后一组属性 } ~~~