加入收藏 | 设为首页 | 会员中心 | 我要投稿 安阳站长网 (https://www.0372zz.cn/)- 高性能计算、分布式云、混合云存储、云计算、视频终端!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP输出多个元素的排列或组合的方法

发布时间:2022-07-29 11:24:08 所属栏目:PHP教程 来源:互联网
导读:?php $arr=array(a,b,c,d); $result=array(); $t= getCombinationToString($arr, 1); print_r($t); $t= getCombinationToString($arr, 2); $t2= getunique($t); print_r($t2); $t= getCombinationToString($arr, 3); $t2= getunique($t); print_r($t2); $t=
  <?php
  $arr=array('a','b','c','d');
  $result=array();
  $t= getCombinationToString($arr, 1);
  print_r($t);
  $t= getCombinationToString($arr, 2);
  $t2= getunique($t);
  print_r($t2);
  $t= getCombinationToString($arr, 3);
  $t2= getunique($t);
  print_r($t2);
  $t= getCombinationToString($arr, 4);
  $t2= getunique($t);
  print_r($t2);
    
  functiongetunique($t){
      $t2=array();
      //print_r($t);
      for($i=0;$i<count($t);$i++){
          $count_list=array_count_values($t[$i]);
          $flag= 1;
          <a href="/tags.php/foreach/" target="_blank">foreach</a>($count_listas$ck=>$cv){
              if($cv>1){
                  $flag= 0;
                  break;
              }
          }
          if($flag){
              sort($t[$i]);
              $flag2= 1;
              if($t2){
                  foreach($t2as$t2k=>$t2v){
                      if($t[$i]==$t2v){
                          $flag2= 0;
                          break;
                      }
                  }
              }
              if($flag2){
                  $t2[] =$t[$i];
              }
          }
      }
      return$t2;
  }
    
  functiongetCombinationToString($arr,$m) {
      if($m==1) {
       return$arr;
      }
      $result=array();
        
      $tmpArr=$arr;
      unset($tmpArr[0]);
      for($i=0;$i<count($arr);$i++) {
          $s=$arr[$i];
          $ret= getCombinationToString(array_values($tmpArr), ($m-1),$result);
            
          foreach($retas$row) {
              //$result[] = $s . $row;
              $temp=array();
              $temp[] =$s;
              if(is_array($row)){
                  $temp=array_merge($temp,$row);
              }else{
                  $temp[] =$row;
              }
              sort($temp);
              $result[] =$temp;
          } //phpfensi.com
      }
   return$result;
  }
    
  ?> 

(编辑:安阳站长网)

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

    热点阅读