【问题标题】:Incrementing numbers with double digits in php [duplicate]在php中用两位数递增数字[重复]
【发布时间】:2015-03-18 16:31:45
【问题描述】:

如果数字小于 10,我想用两位数递增数字

这是我迄今为止尝试过的

$i = 1;

echo $i++;

结果是 1,2,3,4,5,6 以此类推

然后我尝试添加一个条件

$i = 1;

    if ($i++<10){    
     echo "0".$i++;
    }else{
     echo $i++;
    }

工作但跳过数字 2、4、6、8 等等。

谁能告诉我正确的做法?

【问题讨论】:

标签: php


【解决方案1】:

如果条件只存在于前导零,您可以通过以下方式更轻松地做到这一点:

<?php

    $i = 10;
    printf("%02d", $i++);

?>

【讨论】:

  • 第二行可以更简单,将echo()sprintf()(格式化字符串并返回)替换为printf()(格式化字符串并输出)。
  • 非常感谢它就像一个魅力。
【解决方案2】:

如果你想在字符串前面添加一些内容:

echo str_pad($input, 2, "0", STR_PAD_LEFT); //see detailed information http://php.net/manual/en/function.str-pad.php

【讨论】:

    【解决方案3】:

    在第二个代码片段中,您将 $i 增加了两次,这就是为什么您只能得到偶数。

    增加一个数字是一回事,使用特定格式呈现它是另一回事。不要混合它们。

    保持简单:

    // Increment $i
    $i ++;
    
    // Format it for display
    if ($i < 10) {
        $text = '0'.$i;     // Prepend values smaller than 10 with a zero
    } else {
        $text = $i;
    }
    
    // Display it
    echo($text);
    

    【讨论】:

    • 或者,正如this answer 所解释的那样,使用sprintf() 而不是if 块。
    【解决方案4】:
    <?php
    
      $i = 1;
      for($i=1;$i<15;){
        if($i<10){
          echo '0'.$i++."<br>";
        }else{
          echo $i++."<br>";
        }
      }
    
    ?>
    

    【讨论】:

      猜你喜欢
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 2016-09-05
      • 1970-01-01
      相关资源
      最近更新 更多