PHP算法 参数组合,多个分类不同组合列表

算法:多个属性不同的组合

/**
* 風.Fox
*/
class test {
    //组合
    public static $attNew=array();
    //源
    public static $att=array();
    //个数
    public static $attCount=0;
    /**
     * 格式化行
     */
    public function formatRow(){
        //属性
        $att=array(1 =>array(1,2,3,4),
            5 =>array(6,7,8,9),
            10 =>array(11,12,13)
        );
        if(is_array($att))foreach($att as $x){
            self::$att[]=$x;
        }
        //属性个数
        self::$attCount=count(self::$att);
        $this->Combination();
        print_r(self::$attNew);
    }

    /**
     * 组合
     */
    public function Combination(){
        $num = func_num_args();
        if($num==0){
            call_user_func_array(array($this,__FUNCTION__),array($num));
        }else{
            $t=func_get_args();
            $num =$num-1;
            $i=$t[$num];
            if(is_array(self::$att))foreach(self::$att[$i] as $r){
                if(self::$attCount>0&&self::$attCount==($i+1)){
                    $a=array();
                    for($x=0;$x<$num;$x++){
                        $a[]=$t[$x];
                    }
                    $a[]=$r;
                    self::$attNew[]=$a;
                    //return $s;
                }else{
                    $arr=array();
                    for($x=0;$x<$num;$x++){
                        $arr[]=$t[$x];
                    }
                    $arr[]=$r;
                    $arr[]=$i+1;
                    if($num>20){
                        exit('break;');
                        break;
                    }
                    call_user_func_array(array($this,__FUNCTION__),$arr);
                }
            }
        }

    }
}
$test=new test();
$test->formatRow();
时间: 2024-10-27 21:41:47

PHP算法 参数组合,多个分类不同组合列表的相关文章

风控GPS的各种算法参数

风控GPS的各种算法参数 对于各种风控平台,风控GPS定位器,都有自己的每一个参数在里面的:这个参数涉及到很多的,而且每个方面都做到了极致化的. 先了解GPS定位器的平台,到底是一个怎样的平台,如何来收益的. 对于GPS风控的平台,有这样的系列参数. 1.有线离线报警 2.停留超过2天以上报警 3.有线无线分离报警 4.是否常去停留地方分析 这种是在于GPS平台上去计算的,而且这种计算方式也是越来越好的.对于车贷公司为什么希望这样的数据越详细越好的呢? 比如停留超过2天以上的,那么可以说明的是这

算法 集合所有子集的全排列 全组合

问题描述 算法 集合所有子集的全排列 全组合 {1,2,3} 的所有排列组合方式 {1,2,3} {1,23} {12,3} {13,2} {123} 请大家给个想法 或者 算法实现 解决方案 全排列算法与全组合算法全排列算法与全组合算法全排列以及集合的子集 解决方案二: 最简单的是穷举法,近期我会在CSDN的博客里解答你这个问题:) 请关注 80后传播者的微博和博客 解决方案三: 从一位数循环到n位数,对任意i位数(1<=i<=n),穷举所有情况,最后就是组合 解决方案四: 第一步,做一个数

【原创】开源.NET排列组合组件KwCombinatorics使用(一)—组合生成

       本博客所有文章分类的总目录:本博客博文总目录-实时更新 本博客其他.NET开源项目文章目录:[目录]本博客其他.NET开源项目文章目录 KwCombinatorics组件文章目录: 1.[原创]开源.NET排列组合组件KwCombinatorics使用(一)-组合生成  2.[原创]开源.NET排列组合组件KwCombinatorics使用(二)--排列生成 3.[原创]开源.NET排列组合组件KwCombinatorics使用(三)--笛卡尔积组合 前言 本文今天介绍的.NET开

组合-多字段分类问题后剩余字段取日期最大的一个

问题描述 多字段分类问题后剩余字段取日期最大的一个 我有两如下结果的表 dataparamKey swimmingpoolKey value date wd yhg 20 2014-08-15 sd yhg 40 2014-08-13 rs yhg 100 2014-08-14 wd yhg 55 2014-10-10 还有两个表paramid key name1 wd 温度2 sd 深度3 rs 人数swimmingpoolid key name1 yhg 一号馆2 ehg 二号馆 我想得到以

《Python机器学习——预测分析核心算法》——2.2 分类问题:用声纳发现未爆炸的水雷

2.2 分类问题:用声纳发现未爆炸的水雷 此小节将介绍在分类问题上首先需要做的工作.首先是简单的测量:数据的规模.数据类型.缺失的数据等.接着是数据的统计特性.属性之间的关系.属性与标签之间的关系.本节的数据集来自UC Irvine 数据仓库(见参考文献1).数据来源于实验:测试声纳是否可以用于检测在港口军事行动后遗留下来的未爆炸的水雷.声纳信号又叫作啁啾信号(chirped signal),即信号在一个脉冲期间频率会增加或降低.此数据集的测量值代表声纳接收器在不同地点接收到的返回信号,其中在大

自定义组合控件问题-自定义组合控件onDraw()方法死循环

问题描述 自定义组合控件onDraw()方法死循环 自定义了一个组合控件,继承自LinearLayout,逻辑很简单,就是想实现一个带title的EditText.为了便于分析问题,已经将代码中的attrs.xml的属性删除,只留下导致问题出现的部分. 自定义控件的JAVA代码: package com.shuda.epmms.customview; import android.content.Context; import android.content.res.TypedArray; im

destoon分类树状列表

在使用destoon的过程中要制作一些小工具,会用到模块下的分类,如果使用系统自己带的,需要引入一大批js,对于小工具来说就有点臃肿了 那么如何调用来他的分类列表出来呢,制作了一个小函数 具体代码与使用方法见下方 <? define('IN_DESTOON', true); require 'common.inc.php'; function InitClassSelectOption($ParentID,$ChkID,$db) { $sql="SELECT * from dt_categ

Logistic Regression 分类算法

Logistic Regression 分类算法 Logistic Regression包含三个部分:回归,线性回归,Logistic方程 1) 回归 Logistic regression是线性回归的一种,线性回归是一种回归.那么回归是虾米呢? 回归其实就是对已知公式的未知参数进行估计.比如已知公式是y=a∗x+b,未知参数是a和b.我们现在有很多真实的(x,y)数据(训练样本),回归就是利用这些数据对a和b的取值去自动估计.估计的方法大家可以简单的理解为,在给定训练样本点和已知的公式后,对于

数据挖掘中分类算法小结

数据仓库,数据库或者其它信息库中隐藏着许多可以为商业.科研等活动的决策提供所需要的知识.分类与预测是两种数据分析形式,它们可以用来抽取能够描述重要数据集合或预测未来数据趋势的模型.分类方法(Classification)用于预测数据对象的离散类别(Categorical Label);预测方法(Prediction )用于预测数据对象的连续取值. 分类技术在很多领域都有应用,例如可以通过客户分类构造一个分类模型来对银行贷款进行风险评估;当前的市场营销中很重要的一个特点是强调客户细分.客户类别分析