1.   阿里云服务器1888元代金券领取
  2.   本网站所有源码包解压密码:www.youhutong.com
登录  帮助问答

PHP 指定字符,生成指定长度的所有组合字符串(可用于比如撞库的生成,手机号码段+后4位生成所有手机号等)

小川 技术文章
郑重声明:
  本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,否则后果请用户自负,下载后请24小时内删除。 本站所有内容均不能保证其完整性,不提供任何技术支持,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用。

PHP 指定字符,生成指定长度的所有组合字符串方法源码:

可用于比如撞库的生成,手机号码段+后4位生成所有手机号等等


/**
 * 指定字符,指定长度:[生成所有组合字符串]
 * @author www.youhutong.com   28126649
 * @param string $str 可能输入的字符
 * @param int $len 组合长度(建议不要设置过长)
 * @return array
 */
function compose($str='', $len=6, $fun=''){
    if(!is_string($str)) return '传入的字符组合值有误';
    if(!$str) $str = '0123456789';
    #  开始组合
    $data = [];
    $arr = array_unique(str_split($str));
    $fun_str = '';
    for ($i=0; $i<$len; $i++) $fun_str .= 'foreach($arr as $one'.$i.') {';
    $fun_str .= '$v = ';
    for ($i=0; $i<$len; $i++) $fun_str .= '$one'.$i.'.';
    $fun_str = substr($fun_str, 0,-1).';';
    if($fun){
       $fun_str .= '$data[$v] = '.$fun.'($v);';  
    }else{
        $fun_str .= '$data[] = $v;';
    }
    for ($i=0; $i<$len; $i++) $fun_str .= '}';
    set_time_limit(0);
    eval($fun_str);
    #  返回
    return $data;
}
print_r(compose('0123456789',4));


 浏览器启用弹出窗口过滤功能,将无法跳转到下载页。在浏览器地址栏右边符号提示处点击允许就可以了!

转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/233.html


  1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
  2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
  3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
  4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意
( 0 )个小伙伴在吐槽
    登录帐号  如果已经登录请刷新! 发表我的评论
    表情