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

yipeiwu_com5年前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实现猴子选大王问题算法实例

本文实例讲述了php实现猴子选大王问题算法。分享给大家供大家参考。具体分析如下: 一、问题: n只猴子围坐成一个圈,按顺时针方向从1到n编号。 然后从1号猴子开始沿顺时针方向从1开始报数...

fgetcvs在linux的问题

看到有人在有汉字的字符串 前加一个 ‘ 或是任意半角符号,让bug将其除掉,不过这样做太麻烦了。最后呢,找来一个模拟fgetcsv功能的函数。 复制代码 代码如下: function _...

PHP多人模块开发原理解析

PHP多人模块开发原理解析

作为世界上最“好”的语言,在web里占据着大概80%的份额,中小公司基本都说 lnmp 架构。当一个仓库开发人员大于1,20人的时候,每个人可能开发不同的模块和功能,用代码版本控制工具比...

PHP中对缓冲区的控制实现代码

大家在使用PHP的过程中不免要使用到header和setcookie两个函数,这两个函数会发送一段文件头信息给浏览器,但是如果在使用这两个函数之前已经有了任何输出(包括空输出,比如空格,...

PHPer 需要了解的 5 个 Composer 小技巧

Composer是新一代的PHP依赖管理工具。其介绍和基本用法可以看这篇《PHP管理依赖(dependency)关系工具 Composer 安装与使用》。本文介绍使用Composer的五...