duanci1939 2017-07-05 09:16
浏览 16
已采纳

从数组生成字符串序列[关闭]

I have an alphabet array:

$ga = array_merge(range('A', 'Z'), range(0,9));

How can I generate next strings:

AAAA, AAAB... AAAZ, AAA0... AAA9, AABA, AA9A... ABAA... 9999

Thanks!

  • 写回答

1条回答 默认 最新

  • dongtaijue1578 2017-07-05 09:23
    关注

    This probably is the easiest approach:

    <?php
    $alphabeth = array_merge(range('A', 'Z'), range(0,9));
    $character = [];
    foreach ($alphabeth as $character[0]) {
      foreach ($alphabeth as $character[1]) {
        foreach ($alphabeth as $character[2]) {
          foreach ($alphabeth as $character[3]) {
            $catalog[] = vsprintf('%s%s%s%s', $character);
          }
        }
      }
    }
    print_r($catalog);
    

    The output obviously is:

    Array
    (
        [0] => AAAA
        [1] => AAAB
        [2] => AAAC
        [3] => AAAD
        .....
        [1679613] => 9997
        [1679614] => 9998
        [1679615] => 9999
    )
    

    UPDATE:

    You mention in the comments below that you need to fill these strings into a file, if I got you right. If so, then this would be an example for a sequential processing which dramatically reduces the scripts memory footprint, as also mentioned in the comments:

    <?php
    $alphabeth = array_merge(range('A', 'Z'), range(0,9));
    $handle = fopen('/home/arkascha/catalog.list', 'w');
    foreach ($alphabeth as $character[0]) {
      foreach ($alphabeth as $character[1]) {
        foreach ($alphabeth as $character[2]) {
          foreach ($alphabeth as $character[3]) {
            fwrite($handle, vsprintf("%s%s%s%s
    ", $character));
          }
        }
      }
    }
    fclose($handle);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探