【问题标题】:Convert integer into X characters string in PHP [duplicate]在PHP中将整数转换为X字符串
【发布时间】:2013-04-05 01:07:10
【问题描述】:

我有一个整数,我需要将其转换为 4 位字符串。我知道整数介于 1 和 9999 之间。如果数字是 4,我希望输出字符串为“0004”。如果数字是134,我需要字符串输出为“0134”等等。

在 PHP 中实现这一目标的最短最优雅的方法是什么?谢谢。

【问题讨论】:

    标签: php string numbers integer


    【解决方案1】:

    我会使用sprintf():

    $string = sprintf( "%04d", $number);
    

    使用this demo

    foreach( array( 4, 134) as $number) {
        $string = sprintf( "%04d", $number);
        echo $string . "\n";
    }
    

    你得到输出:

    0004
    0134
    

    【讨论】:

    • 谢谢你的回答,正是我需要的!
    【解决方案2】:

    试试这个

     $num = 1;
     $paddedNum = sprintf("%04d", $num);
     echo $paddedNum;
    

    【讨论】:

    • 感谢您的回答。你的答案和选择的答案同时出现,我不得不选择其中之一。我选择了我名单上的第一个。无论如何,非常感谢你,我支持你!
    【解决方案3】:

    试试这个

    str_pad($input, 4, "0", STR_PAD_LEFT);
    

    这对整数和字符串都有效

    【讨论】:

      【解决方案4】:

      http://php.net/manual/de/function.str-pad.php

      $input = 9;
      $str = str_pad($input, 4, "0", STR_PAD_LEFT); //results in 0009
      

      【讨论】:

        【解决方案5】:

        您可以将 sprintf 与 %d 选项一起使用:

        $NewString = sprintf( "%04d", $OldNumber);
        

        04 告诉 sprintf 你的号码应该是多少位数,如果没有达到这个数字,将用零填充。

        【讨论】:

          【解决方案6】:
          $num = rand(1,9999);
          echo sprintf( "%04d", $num);
          

          试试这个。

          【讨论】:

            猜你喜欢
            • 2010-11-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-10-31
            • 1970-01-01
            • 2012-03-31
            • 1970-01-01
            相关资源
            最近更新 更多