源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 205|回复: 19

[PHP编程] PHP输出多个元素的排列或组合的方法

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2018-12-25 17:03:26 | 显示全部楼层 |阅读模式
下面小编就为大家带来一篇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输出多个元素的排列或组合的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

回复

使用道具 举报

2

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2022-11-11 21:01:47 | 显示全部楼层
还有人在不。。。。。。。。。。啊
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-7-28 23:37:24 | 显示全部楼层
而非为吾问无为谓娃娃
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

115

积分

注册会员

Rank: 2

积分
115
发表于 2023-9-27 07:26:56 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

67

积分

注册会员

Rank: 2

积分
67
发表于 2023-10-24 05:45:10 | 显示全部楼层
可以,看卡巴
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-3-14 04:40:58 | 显示全部楼层
啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-4-8 10:08:18 | 显示全部楼层
hi哦回复iOS就看见
回复 支持 反对

使用道具 举报

2

主题

1万

回帖

146

积分

注册会员

Rank: 2

积分
146
发表于 2024-4-21 16:34:48 | 显示全部楼层
谢谢小Y分享
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

381

积分

中级会员

Rank: 3Rank: 3

积分
381
发表于 2024-6-23 18:58:08 | 显示全部楼层
还有什么好东西没
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-7-22 14:59:44 | 显示全部楼层
非常vbcbvcvbvcb
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-29 15:05 , Processed in 0.137335 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表