2

我正在为朋友的网站开发一个项目,该项目假设生成完全随机的电话号码,以显示在“假”审查板上。我认为最好的方法是让我分别生成每个部分。所以 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

4 回答 4

2

您可以使用str_pad

for ($i = 0; $i <= 9999; $i++) {
   echo str_pad($i, 4, '0', STR_PAD_LEFT);
   echo "<br>";
}
于 2012-04-24T08:55:40.300 回答
2

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

<?php
for ($i = 0; $i <= 9999; $i++) {
  printf("%04d<br>\n",$i);
}
?>
于 2012-04-24T08:58:38.553 回答
0

如果要保留零,则需要将变量设为字符串。这意味着使用引号,并且永远不要在其上使用数字运算符。但是由于您依赖于在其上使用 ++,因此我建议使用以下 hack:

<?php
for ($i = 10000; $i <= 19999; $i++) {
    $str=substr ( $i , 0 , 4 );
    echo $i;
    echo $str;
    echo "<br>";
}
?>
于 2012-04-24T08:55:59.950 回答
0

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

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

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

于 2012-04-24T09:03:13.850 回答