PHP将前导0添加到范围

mat*_*ewb 4 php foreach loops

如何让它为1-9渲染前导0?

<?php foreach (range(1, 12) as $month): ?>


                  <option value="<?=$month?>"><?=$month?></option>

                <?php endforeach?>
Run Code Online (Sandbox Code Playgroud)

jhe*_*ngs 7

<?php foreach (range(1, 12) as $month): ?>
  <option value="<?= sprintf("%02d", $month) ?>"><?= sprintf("%02d", $month) ?></option>
<?php endforeach?>
Run Code Online (Sandbox Code Playgroud)

您可能希望将值保存sprintf到变量中以避免多次调用它.


cle*_*tus 6

使用str_pad()

echo str_pad($month, 2, '0', STR_PAD_LEFT);
Run Code Online (Sandbox Code Playgroud)

或者sprintf()

echo sprintf('%02d', $month);
Run Code Online (Sandbox Code Playgroud)