12

PHPカウンターの機能について提案が必要です。00001 または 00123 のように 5 桁の数字を持つ機能はありますか? この数字はランダムではなく、前のフィールドの値を増やす必要があります。

数値が $n='00001' の場合、1 ずつ増やして 2 ではなく 00002 を取得する関数はありますか?

ありがとう。

4

4 に答える 4

31
$n2 = str_pad($n + 1, 5, 0, STR_PAD_LEFT);

s (第 3パラメーター) を、長さが 5 (第 2パラメーター) になるまで(第 1パラメーター) だけインクリメントされた古い数値の左 (第 4str_pad()パラメーター) に追加して使用します。0$n1

于 2012-05-26T20:56:15.880 に答える
4
$number = 1;
$number++;
echo str_pad($number, 5, "0", STR_PAD_LEFT);  //00002
于 2012-05-26T20:57:51.223 に答える
4

別の方法として、興味がある場合は、sprintf を使用して、特定の数まで 0 をかなり簡単に埋め込むことができます。

$numbers = array(0,1,11,111,1111,11111,11111);
$padded  = array();
foreach($numbers as $num)
  $padded[] = sprintf('%1$05d', ++$num);

print_r($padded);

PHP には、ほとんどの場合、同じことを行う方法が多数あります。:)

于 2012-05-26T21:04:12.957 に答える
2

str_pad()インデックスに先行ゼロを追加する関数が必要です。

$new_index = str_pad($index, 5, "0", STR_PAD_LEFT);

$index円でインクリメントするインデックスは$new_index、先頭にゼロが付いたインデックスです。

于 2012-05-26T20:56:18.397 に答える