PHP实现给定一列字符,生成指定长度的所有可能组合示例

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP实现给定一列字符,生成指定长度的所有可能组合。分享给大家供大家参考,具体如下:

给定一列字符,生成指定长度的所有可能的组合:

如:a,b,c,d,e 或 0-9 

生成长度 1:a, b, c, d, e;  长度2 :aa, ab, ac, ad, ae, ba, bb, bc, bd, be,................ee

<?php
function de($len, $pos = 0) {
  static $bit = [];
  static $source = ['a', 'b', 'c', 'd', 'e'];/*[0, 1, 2, 3, 4, 5, 6, 7, 8, 9];*/
  $pos++;
  for($i = 0; $i < count($source); $i++) {
    $bit[$pos] = $source[$i];
    if ($pos < $len) {
      de($len, $pos);
    } else {
      echo implode('', $bit)."\n";
    }
  }
}

用phpcmd小助手(https://github.com/dclnet/phpcmd)运行代码

以上为长度为1

长度为2的。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数学运算技巧总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php正则表达式用法总结

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

相关文章

详谈phpAdmin修改密码后拒绝访问的问题

如下所示: phpMyadmin没配置正确,打开 phpMyadmin 目录找到config.inc.php文件,查找到$cfg['Servers'][$i]['password']='...

PHP编程之设置apache虚拟目录

PHP编程之设置apache虚拟目录

apache虚拟目录设置方法分享,供大家参考,具体内容如下 1.开启“虚拟目录配置文件”httpd-vhosts.conf 文件路径:\wamp\bin\apache\apache2.4...

PHP实现负载均衡的加权轮询方法分析

本文实例讲述了PHP实现负载均衡的加权轮询方法。分享给大家供大家参考,具体如下: 1. 负载均衡算法有哪些? 轮询法:将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台...

php数组和链表的区别总结

PHP中数组和链表的区别 从逻辑结构来看 1.、数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费...

php 基础函数

话不多说,如下所示: <?php //生成随机数 和 时间函数 //echo rand(); //echo "<br>"; //echo rand(0,10...