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程序设计有所帮助。

相关文章

用PHP实现递归循环每一个目录

函数的原理很简单,主要就是用了一下递归调用。 复制代码 代码如下: function file_list($path){ if ($handle = opendir($path)) {...

php中spl_autoload详解

SPL有两个不同的函数 spl_autoload, spl_autoload_call,通过将autoload_func指向这两个不同的函数地址来实现不同的自动加载机制。 spl_aut...

php 魔术方法详解

从PHP 5以后的版本,PHP中的类就可以使用魔术方法了。其规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开头,除非是为了重载已有的魔术方法。PHP...

php实现比较全的数据库操作类

本文实例讲述了php实现比较全的数据库操作类。分享给大家供大家参考。具体如下: <?php class database { private $hostname...

php解决DOM乱码的方法示例代码

前言 DOM是php比较新的xml和html处理类,可以像javascript那样方便的操作DOM树,网上更多的是介绍它处理XML的情况,今天这篇文章就介绍下php解决DOM乱码的方法,...