代码之家  ›  专栏  ›  技术社区  ›  Dirk J. Faber

生成一个只有6位数字的随机字符串(显示前0位)

php
  •  1
  • Dirk J. Faber  · 技术社区  · 7 年前

    我正在尝试生成一个字符串,其中正好有6个随机数。我的当前代码:

    $test = sprintf('%6d', rand(1, 1000000));
    

    使用这个代码,我得到了一个字符串,它有时在开头有一个空值,比如 " 53280" . 我想把它做出来 "053280" 在这种情况下。如何做到这一点?

    3 回复  |  直到 7 年前
        1
  •  3
  •   Sean Bright Sean Stinehour    7 年前

    0

    $test = sprintf('%06d', rand(1, 1000000));
    //                ^-- here
    

    the sprintf manual page

        2
  •  2
  •   Sean Bright Sean Stinehour    7 年前

    sprintf

    $test = str_pad(mt_rand(1, 999999),6,0,STR_PAD_LEFT);
    

    736523
    024132
    003145
    

    mt_rand rand


    Sean's Method:   0.005
    My Method:       0.006
    Aslan's Method:  0.009
    

        3
  •  2
  •   Sean Bright Sean Stinehour    7 年前

    $test = str_replace(" ", "0", sprintf('%6d', rand(1, 1000000)));
    
    推荐文章