ホームページ > バックエンド開発 > PHPチュートリアル > 0から始まるデータの循環累積の問題

0から始まるデータの循環累積の問題

WBOY
リリース: 2016-06-23 13:42:03
オリジナル
872 人が閲覧しました

今日、契約番号のバッチをバッチで生成する必要があり、問題が発生しました。たとえば、
start=0066812~end=0066818

for ($start;$start<=$end;$start++){}
例外0066812 の場合、次のすべてから 00 が削除されましたが、0 を保持する方法はありますか? ?


ディスカッションに返信 (解決策)

$start = 66812;$end = 66818;for ($start;$start<=$end;$start++){  $s = sprintf('%07d', $start);  echo $s . '<br>';}
ログイン後にコピー
ログイン後にコピー
0066812006681300668140066815006681600668170066818
ログイン後にコピー
ログイン後にコピー

$start = 66812;$end = 66818;for ($start;$start<=$end;$start++){  $s = sprintf('%07d', $start);  echo $s . '<br>';}
ログイン後にコピー
ログイン後にコピー
0066812006681300668140066815006681600668170066818
ログイン後にコピー
ログイン後にコピー


代入する場合は、
$start = 0066812;
$end = 0066818 である必要があります。 ;
前に 2 つの 0 がある
なぜならシードはまだあります 009999から010000かもしれません。とにかく、09の次は10になり、前に0が2つありません

何か違いはありますか?

$start = '0066812';$end = '0066818'; for ($start;$start<=$end;$start++){  $s = sprintf('%07d', $start);  echo $s . '<br>';}
ログイン後にコピー
ログイン後にコピー
0066812
0066813
0066814
0066815
0066816
0066817
0066818


しかし、$start = 0066812;
8 進数だと書いてしまえば、それで終わりです

何か違いはありますか?

$start = '0066812';$end = '0066818'; for ($start;$start<=$end;$start++){  $s = sprintf('%07d', $start);  echo $s . '<br>';}
ログイン後にコピー
ログイン後にコピー
0066812
0066813
0066814
0066815
0066816
0066817
0066818


でも、$start = 0066812;
8 進数だと書いたら、それで終わりです



ありがとうございます、とても良い講義でした、素晴らしいマスター
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート