`
liu86th
  • 浏览: 119118 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[php] php组合算法

阅读更多
<?php

function combination() {
    $array = array();
    $arguments = func_get_args();
    foreach ($arguments as $argument) {
        if (is_array($argument) === true) {
            $array[] = $argument;
        } else {
            $array[] = array($argument);
        }
    }

    $size = count($array);

    if ($size === 0) {
        return array();
    } else if ($size === 1) {
        return is_array($array[0]) === true ? $array[0] : array();
    } else {
        $result = array();
        $a = $array[0];
        array_shift($array);
        if (is_array($array) === false) {
            return $result;
        }

        foreach ($a as $val) {
            $b = call_user_func_array("combination", $array);
            foreach ($b as $c) {
                if (is_array($c) === true) {
                    $result[] = array_merge(array($val), $c);
                } else {
                    $result[] = array($val, $c);
                }
            }
        }
        return $result;
    }
}

echo '<pre>';
print_r(combination(array("A1", "A2"), array("B1", "B2"), "1", array("C1", "C2", "C3")));
?>  

 

分享到:
评论

相关推荐

    PHP实现多种类型的排列组合算法

    下面将详细讨论PHP如何实现排列组合算法。 首先,排列和组合是离散数学中的基本概念。排列是指从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排列起来,形成不同的排列方式。组合则是指从n个不同元素中不考虑...

    PHP实现一维数组的组合算法

    PHP实现一维数组的组合算法,欢迎下载和评论。

    php组合算法最优-php–编写更快的组合算法,排序算法数据结构 最快的排序算法

    php组合算法最优-php–编写更快的组合算法,排序算法数据结构 最快的排序算法

    PHP多个字符串排列组合的算法,组二,组三

    本篇文章将详细讲解如何利用PHP实现字符串的组合算法,特别是针对“组二”和“组三”的组合方式。 首先,我们要理解组合与排列的基本概念。在组合中,我们不关心元素的顺序,而是在特定数量的元素中选择一个子集。...

    php 笛卡尔积二维数组矩阵算法

    php 笛卡尔积二维数组矩阵算法 生成多个组合 php 笛卡尔积二维数组矩阵算法 生成多个组合 php 笛卡尔积二维数组矩阵算法 生成多个组合 php 笛卡尔积二维数组矩阵算法 生成多个组合 php 笛卡尔积二维数组矩阵...

    经典组合程序,经典组合算法

    这是一个 用php 写的 组合程序,里面采用 oo 进行编程,已经实现并且无误。可以 获取 m 个数值中取n个的所有的组合序列,当然是 采用的数组形式。有需要相关信息的朋友,可以下载参照。可是 自撰哦,恩,还是推荐...

    PHP数据结构算法大全

    6. **回溯算法**:主要用于解决组合优化问题和搜索问题,如八皇后问题、N-皇后问题等。 熟悉并掌握这些数据结构和算法,能帮助PHP开发者设计出更高效、更优雅的代码,解决复杂的业务问题。通过深入学习和实践这个...

    PHP循环实现组合算法实现

    PHP循环实现组合算法实现,里面主要是一个函数。

    PHP面试题之算法

    在PHP的世界里,面试题是衡量开发者技能和经验的重要手段,尤其在算法这一领域,它直接反映了开发者的逻辑思维能力和问题解决能力。算法是计算机科学的基础,对于PHP开发者来说,理解并能熟练运用各种算法至关重要。...

    组合算法的PHP解答方法

    总的来说,组合算法在PHP中的实现可以通过直接计算组合数,或者像例子中那样通过迭代和累加的方式。了解这种问题的解决思路有助于在实际编程中解决类似的问题,比如在数据分析、算法竞赛或者设计优化方案时。

    transducers.php, 在PHP中,可以组合算法转换.zip

    transducers.php, 在PHP中,可以组合算法转换 传感器 php 传感器是可以组合算法转换。 它们独立于输入和输出源的上下文,仅在单个元素的基础上指定转换的本质。 由于传感器与输入或者输出源分离,所以可以在许多不同...

    LZW的压缩与解压缩算法的PHP实现.zip

    在PHP中实现LZW压缩与解压缩算法,我们可以分为以下几个关键步骤: 1. **初始化字典**: - 在开始时,字典包含所有可能的一字节字符串(对于ASCII字符集来说是256个)。随着压缩过程,字典会动态扩展,添加由现有...

    PHP实现的简单排列组合算法应用示例

    本文将详细探讨如何使用PHP实现简单的排列组合算法,并通过一个具体的实例来展示其应用。 首先,我们需要理解排列和组合的基本概念。排列是指从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,而组合...

    php 算法大全,用 PHP 的方式实现的各类算法合集

    《PHP算法大全:掌握编程核心技巧》 在编程领域,算法是解决问题的关键所在,而PHP作为一门广泛应用的脚本语言,其算法实现同样至关重要。本文将深入探讨如何使用PHP实现各类算法,帮助开发者提升编程技能,更好地...

    PHP-使用php实现的排序算法-Sorting.zip

    PHP中,可以使用递归和两个临时数组来实现,递归调用自身处理更小的子数组,最后用两个已排序的子数组合并成一个有序数组。 6. 堆排序:构建一个大顶堆(或小顶堆),将堆顶元素与末尾元素交换,然后将剩余元素重新...

    程序员必备算法知识

    例如,深度优先搜索(DFS)和广度优先搜索(BFS)用于遍历图,迪杰斯特拉算法和贝尔曼-福特算法解决单源最短路径问题,最小生成树算法如Prim和Kruskal用于寻找图中边的最小权重组合。 4. **动态规划**:动态规划是...

    面试前必备(微软数据结构+算法)

    5. 回溯法:用于解决组合优化问题,如八皇后问题、N皇后问题。 6. 分治策略:将大问题分解为小问题求解,如快速排序、归并排序。 面试中可能会遇到的具体题目可能涵盖以下主题: 1. 算法复杂度分析:理解时间...

    php生成数组的使用示例 php全组合算法

    本文将详细介绍如何使用PHP来生成数组,并结合全组合算法从一个7元素的数组中选出所有可能的5元素组合,确保结果的唯一性。组合算法是一种计算从n个不同元素中,不重复地选取k个元素的组合方式数量的方法。 首先,...

    php实现点卡卡号密码生成函数类.zip

    1. **随机卡号生成**:类库可能有一个方法用于生成随机卡号,可能基于特定长度的数字或者字母组合,确保每个卡号独一无二。 2. **加密密码生成**:密码生成可能会使用某种加密算法,如哈希函数,以确保即使密码是...

    基于 Web 的Ant Colony - ACO 优化算法,用于计算机科学和运筹学_蚁群算法_PHP

    **基于Web的Ant Colony(ACO)优化算法详解** 在计算机科学和运筹学领域,优化问题是一个重要...通过PHP实现的ACO算法,结合前端交互,使得用户能方便地输入问题并获取最优解,体现了ACO算法在实际问题中的应用价值。

Global site tag (gtag.js) - Google Analytics