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

yipeiwu_com7年前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实现将视频转成MP4并获取视频预览图的方法

本文实例讲述了PHP实现将视频转成MP4并获取视频预览图的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:<?php flv_convert_get_t...

Ajax+PHP实现的模拟进度条功能示例

Ajax+PHP实现的模拟进度条功能示例

本文实例讲述了Ajax+PHP实现的模拟进度条功能。分享给大家供大家参考,具体如下: 一 代码 fun.js: function progress(){ setInterval(...

PHP中使用BigMap实例

<?php //所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大...

php调用Google translate_tts api实现代码

今天用google翻译时,发现个好东西:Google translate_tts,调用这个api就可以听到英文发音,省掉了自己上传音频文件的麻烦。我用php写了个调用的方法,可以把音频文...

PHP中iconv函数转码时截断字符问题的解决方法

iconv是转换编码的,但是在中文转码时候出现显示不全问题。  复制代码 代码如下:  iconv("UTF-8","GB2312//IGNORE",$data)...