2016-11-30 3 views
2

前にゼロを削除し、出力は0001,2,3ですが、私は、私はこの出力を取得するにはどうすればよいループが整数

0001 
0002 
0003 

が必要ですか? パディング指定子、例えばと

$i='0001'; 
foreach($test as $rows){ 
    echo $i; 
    echo '<br/>'; 
    $i++; 
} 
+0

スタートを使用することができます。 – Federkun

答えて

1

あなたがそれらを表示したいとき**、その後**あなたが先頭にゼロを追加することができ、 `$ I = 1 'とstr_pad()

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

使用printf:この例では

$test = range(1,11); 

$i = 0; 
foreach ($test as $rows) { 
    printf("%04d<br/>\n", ++$i); 
} 

出力

0001<br/> 
0002<br/> 
0003<br/> 
0004<br/> 
0005<br/> 
0006<br/> 
0007<br/> 
0008<br/> 
0009<br/> 
0010<br/> 
0011<br/> 

04はその数を意味パディング指定子です(d )は最大4つのゼロで埋められます。

+0

それが得意で、私は言うでしょう。 –

0

あなたは

$i = "1"; 
$y = "000"; //Added this 

while ($i < 4){ 
    echo $y . $i; 
    $i++; 
} 

は、基本的には、番号の前に毎回000エコー、少しカンニングすることができます。

+2

もしループが9回以上実行されると、結果はOPが望んでいない「00010」のようになります。 Ruslansの答えはおそらくOPのニーズに適しています。 編集:うーん、私はちょうどRuslansの答えが00010も出力されることに気づいた。 (編集2:編集後ではない) – Cashbee

+0

if($ i> = 10){何か}。しかし、おそらくうん、おそらく:) – Mitch

+0

素晴らしい解決策ではありません。 –

関連する問題