当前位置:首页 > 日记 > 正文

php求数组全排列,元素所有组合的方法

php求数组全排列,元素所有组合的方法

本文实例讲述了php求数组全排列,元素所有组合的方法。分享给大家供大家参考,具体如下:

<?php$source = array('pll','我','爱','你','嘿');sort($source); //保证初始数组是有序的$last = count($source) - 1; //$source尾部元素下标$x = $last;$count = 1; //组合个数统计echo implode(',', $source), "<br>"; //输出第一种组合while (true) {  $y = $x--; //相邻的两个元素  if ($source[$x] < $source[$y]) { //如果前一个元素的值小于后一个元素的值    $z = $last;    while ($source[$x] > $source[$z]) { //从尾部开始,找到第一个大于 $x 元素的值      $z--;    }    /* 交换 $x 和 $z 元素的值 */    list($source[$x], $source[$z]) = array($source[$z], $source[$x]);    /* 将 $y 之后的元素全部逆向排列 */    for ($i = $last; $i > $y; $i--, $y++) {      list($source[$i], $source[$y]) = array($source[$y], $source[$i]);    }    echo implode(',', $source), "<br>"; //输出组合    $x = $last;    $count++;  }  if ($x == 0) { //全部组合完毕    break;  }}echo 'Total: ', $count, "\n";?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP+ajax技巧与应用小结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

相关文章

win7系统IIS 7.0以上版本配置PHP的

win7系统IIS 7.0以上版本配置PHP的

系统,方法,配置,版本,电脑软件,win7系统IIS 7.0以上版本配置PHP的方法微软和Zend合作以后,针对IIS推出了专门的FastCGI支持,在IIS下运行PHP,应该采用FastCGI方式来运行,而不是ISAPI方式。到了IIS7.0以后的版本,微软更进一步,将FastCGI内置到IIS中…

excel中出现 #value! 解决办法

excel中出现 #value! 解决办法

解决办法,电脑软件,excel,在excel中,出现#value一般是公式中的错误参数所致,具体的说主要包含以下三个方面:1、运算的时候使用了非数值的单元格上图中,大家可以看到a1的是数值,而a3是字符,所以,当a1+a3的时候就会出现 #value!的错误,因为当字符和数…

利用PHP访问带有密码的Redis方法示

利用PHP访问带有密码的Redis方法示

方法,密码,示例,电脑软件,PHP,一、首先设置Redis密码,以提供远程登陆打开redis.conf配置文件,找到requirepass,然后修改如下:requirepass yourpasswordyourpassword就是redis验证密码,设置密码以后发现可以登陆,但是无法执行命令了。命令如下:re…

Extjs 中的 Treepanel 实现菜单级

Extjs 中的 Treepanel 实现菜单级

菜单,实例代码,级联,效果,电脑软件,TreePanel继承自Panel,在ExtJS中使用树控件含有丰富的属性和方法实现复杂的功能。其中Ext.tree.TreeNode代表一个树节点,比较常用的属性包括text、id、icon、checked等、异步树Ext.tree.AsyncTreeNode、树…

Js利用console计算代码运行时间的

Js利用console计算代码运行时间的

方法,运行时间,计算,示例,代码,前言本文主要给大家介绍了关于Js用console计算代码运行时间的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。需求如果学习前端一定时间以后,就会考虑性能方面的问题。那么问题来了,我…

PHP实现的分页类定义与用法示例

PHP实现的分页类定义与用法示例

分页,类定义,示例,电脑软件,PHP,本文实例讲述了PHP实现的分页类定义与用法。分享给大家供大家参考,具体如下:<?php class Page { private $total; //总记录 private $pagesize; //每页显示多少条 private $limit; //limi…

Excel中进行表格打开闪退的操作方

Excel中进行表格打开闪退的操作方

闪退,操作方法,表格,操作步骤,电脑软件,  刚刚一同事说用的Office 2003 Excel表格一打开就闪退了,开始还以为是中毒了。经过了解是Excel 模版文件损坏了,删除坏的就可以了。今天,小编就教大家在Excel中进行表格打开闪退的操作方法。Excel中…

word中大括号怎么打

word中大括号怎么打

括号,中大,电脑软件,word,近日有同学反应在word中输入大括号遇到了困难,因为他需要输入一个很大的大括号。小编把大括号怎么打的几种方法都整理出来供大家参考。一、普通输入大括号1.Shift+中/大括号键(一般都在字母P键的右边)如果是英文大…

JS中正则表达式要注意lastIndex属

JS中正则表达式要注意lastIndex属

正则,属性,表达式,要注意,电脑软件, 说明这篇文章,主要和大家聊聊JavaScript中RegExp对象的属性。解释每个RegExp对象都包含5个属性,source、global、ignoreCase、multiline、lastIndex。source:是一个只读的字符串,包含正则表达式的文本。var …

Windows7安装IIS的方法-Win7安装II

Windows7安装IIS的方法-Win7安装II

安装,方法,教程,电脑软件,IIS,如果想在Windows7下安装IIS,首先确定你的Win7版本。必须是Windows7旗舰版、Windows7专业版或者Windows7企业版才有IIS组件,而Win7 Home(家庭版)是没有IIS的。Windows7安装IIS7的方法其实icech发现Windows7旗舰版安…

photoshop怎么使用置换滤镜?

photoshop怎么使用置换滤镜?

滤镜,电脑软件,photoshop,photoshop是一个很有趣的软件,我们可以通过它来实现很多看起来比较高大上的效果。今天,小编就来向大家介绍photoshop中一个不太被注意到的,但是比较有用和好玩的滤镜效果&mdash;&mdash;置换滤镜,通过它我们可以实现&ld…

win10 defender如何隐藏

win10 defender如何隐藏

电脑软件,defender,Windows 10 至发布以来就内置集成了 Windows Defender 安全防护应用,但有许多用户平常压根儿就没注意到它的存在。微软为了使安全防护功能更加明显,Windows 10 周年更新中将 Windows Defender 图标列到了任务栏通知区域,以…