0未从数值前面剥离

时间:2012-04-24 08:51:23

标签: php for-loop int

我正在为一个朋友的网站开发一个项目,该项目假设生成完全随机的电话号码以显示在“假”评论板上。我认为最好的方法是让我分别生成每个部分。所以3-3-4,但无论我做什么,每次前面都有一个0,代码会将其切断。这是我的意思的一个例子:

http://www.shiningashes.net/Test.php

然而这就是我对代码所拥有的:

<?php
for ($i = 0000; $i <= 9999; $i++) {
echo $i;
echo "<br>";
}
?>

如何让0停止裁剪,以便0显示? 0001,0021,0123等?

4 个答案:

答案 0 :(得分:2)

您可以使用str_pad

for ($i = 0; $i <= 9999; $i++) {
   echo str_pad($i, 4, '0', STR_PAD_LEFT);
   echo "<br>";
}

答案 1 :(得分:2)

您可以使用printf格式化输出:

<?php
for ($i = 0; $i <= 9999; $i++) {
  printf("%04d<br>\n",$i);
}
?>

答案 2 :(得分:0)

如果要保留零,则需要将变量设为字符串。这意味着使用引号,并且从不使用数字运算符。但是由于你依赖于使用++,我建议以下黑客:

<?php
for ($i = 10000; $i <= 19999; $i++) {
    $str=substr ( $i , 0 , 4 );
    echo $i;
    echo $str;
    echo "<br>";
}
?>

答案 3 :(得分:0)

打印时,您需要将整数转换为字符串。

<?php
for ($i = 0; $i <= 9999; $i++) {
    printf("%04d<br />", $i);
 }
 ?>

查看printf / sprintf的文档以获取更多信息。 亲切的问候, 斯蒂芬