全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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 = getCombinationToString($arr, 4);
$t2 = getunique($t);
print_r($t2);

function getunique($t){
	$t2 = array();
	//print_r($t);
	for($i=0;$i<count($t);$i++){
		$count_list = array_count_values($t[$i]);
		$flag = 1;
		foreach($count_list as $ck=>$cv){
			if($cv>1){
				$flag = 0;
				break;
			}
		}
		if($flag){
			sort($t[$i]);
			$flag2 = 1;
			if($t2){
				foreach($t2 as $t2k=>$t2v){
					if($t[$i]==$t2v){
						$flag2 = 0;
						break;
					}
				}
			}
			if($flag2){
				$t2[] = $t[$i];
			}
		}
	}
	return $t2;
}

function getCombinationToString($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($ret as $row) {
			//$result[] = $s . $row;
			$temp = array();
			$temp[] = $s;
			if(is_array($row)){
				$temp = array_merge($temp,$row);
			}else{
				$temp[] = $row;
			}
			sort($temp);
			$result[] = $temp;
		}
	}
 return $result;
}

?>

共15种排列结果。

以上这篇PHP输出多个元素的排列或组合的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# php  # 排列组合  # PHP实现的简单排列组合算法应用示例  # php全排列递归算法代码  # 使用php计算排列组合的方法  # 浅谈PHP的排列组合(如输入a  # b  # c 输出他们的全部组合)  # php通过排列组合实现1到9数字相加都等于20的方法  # php求数组全排列  # 元素所有组合的方法总结  # 元素所有组合的方法  # PHP实现基于图的深度优先遍历输出1  # 2  # 3...n的全排列功能  # PHP实现字符串的全排列详解  # php实现的生成排列算法示例  # 给大家  # 多个  # 希望能  # 这篇  # 小编  # 大家多多  # result  # getCombinationToString  # array  # arr  # print_r  # count  # count_list  # function  # getunique  # color  # ccffcc  # background  # span  # style 


相关文章: 建站之星24小时客服电话如何获取?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  简历在线制作网站免费版,如何创建个人简历?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  海南网站制作公司有哪些,海口网是哪家的?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  岳西云建站教程与模板下载_一站式快速建站系统操作指南  大学网站设计制作软件有哪些,如何将网站制作成自己app?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  三星网站视频制作教程下载,三星w23网页如何全屏?  制作电商网页,电商供应链怎么做?  c# await 一个已经完成的Task会发生什么  建站之星CMS五站合一模板配置与SEO优化指南  如何构建满足综合性能需求的优质建站方案?  javascript中对象的定义、使用以及对象和原型链操作小结  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  如何在建站之星绑定自定义域名?  宝塔建站教程:一键部署配置流程与SEO优化实战指南  如何配置支付宝与微信支付功能?  建站之星如何助力网站排名飙升?揭秘高效技巧  网站制作企业,网站的banner和导航栏是指什么?  如何在IIS服务器上快速部署高效网站?  建站org新手必看:2024最新搭建流程与模板选择技巧  网站设计制作企业有哪些,抖音官网主页怎么设置?  网站制作报价单模板图片,小松挖机官方网站报价?  如何高效利用亚马逊云主机搭建企业网站?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  建站之星价格显示格式升级,你的预算足够吗?  制作表格网站有哪些,线上表格怎么弄?  c++ stringstream用法详解_c++字符串与数字转换利器  深圳网站制作平台,深圳市做网站好的公司有哪些?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  开封网站制作公司,网络用语开封是什么意思?  建站主机选购指南:核心配置优化与品牌推荐方案  实例解析Array和String方法  如何制作一个表白网站视频,关于勇敢表白的小标题?  建站之星如何助力企业快速打造五合一网站?  如何使用Golang table-driven基准测试_多组数据测量函数效率  如何获取PHP WAP自助建站系统源码?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  专业商城网站制作公司有哪些,pi商城官网是哪个?  北京的网站制作公司有哪些,哪个视频网站最好?  广东专业制作网站有哪些,广东省能源集团有限公司官网?  如何配置IIS站点权限与局域网访问?  如何选择域名并搭建高效网站?  C#怎么创建控制台应用 C# Console App项目创建方法  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  香港服务器网站卡顿?如何解决网络延迟与负载问题? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。