加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php 数组组合算法的简单示例

发布时间:2020-05-25 23:45:52 所属栏目:PHP 来源:互联网
导读:php 数组组合算法的简单示例

感兴趣的小伙伴,下面一起跟随脚本之家 jb51.cc的小编来看看吧。
经测试代码如下:


/**
 * 数组组合算法
 *
 * @param 
 * @author 脚本之家 jb51.cc jb51.cc
 **/
 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;
  }
 }
 
 print_r(combination(array("A1","A2"),array("B1","B2"),"1",array("C1","C2","C3")));


/***   代码来自脚本之家 jb51.cc(jb51.cc)   ***/

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读