排列组合字符串源代码 PHP二维数组排列组合源代码

阅读: 评论:0

排列组合字符串源代码 PHP二维数组排列组合源代码

排列组合字符串源代码 PHP二维数组排列组合源代码

function combination(array $options)
{$rows = [];foreach ($options as $option => $items) {if (count($rows) > 0) {// 2、将第一列作为模板$clone = $rows;// 3、置空当前列表,因为只有第一列的数据,组合是不完整的$rows = [];// 4、遍历当前列,追加到模板中,使模板中的组合变得完整foreach ($items as $item) {$tmp = $clone;foreach ($tmp as $index => $value) {$value[$option] = $item;$tmp[$index] = $value;}// 5、将完整的组合拼回原列表中$rows = array_merge($rows, $tmp);}} else {// 1、先计算出第一列foreach ($items as $item) {$rows[][$option] = $item;}}}return $rows;
}$options = array('sex' => [1, 2],'area' => [1, 2, 3, 4, 5, 6, 7, 8, 9],'level' => [1, 2, 3, 4],
);

function combination(array $options)
{
    $rows = [];

    foreach ($options as $option => $items) {
        if (count($rows) > 0) {
            // 2、将第一列作为模板
            $clone = $rows;

            // 3、置空当前列表,因为只有第一列的数据,组合是不完整的
            $rows = [];
            // 4、遍历当前列,追加到模板中,使模板中的组合变得完整
            foreach ($items as $item) {
                $tmp = $clone;
                foreach ($tmp as $index => $value) {
                    $value[$option] = $item;
                    $tmp[$index] = $value;
                }

                // 5、将完整的组合拼回原列表中
                $rows = array_merge($rows, $tmp);
            }
        } else {
            // 1、先计算出第一列
            foreach ($items as $item) {
                $rows[][$option] = $item;
            }
        }
    }

    return $rows;
}

$options = array(
    'sex' => [1, 2],
    'area' => [1, 2, 3, 4, 5, 6, 7, 8, 9],
    'level' => [1, 2, 3, 4],
);

本文发布于:2024-02-02 07:48:36,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170683131542380.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:源代码   排列组合   数组   字符串   PHP
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23